Laravel находит и заменяет контент на основе выражения в контенте, поступающем из БД


Laravel находит и заменяет контент на основе выражения в контенте, поступающем из БД

03.11.2020 05:16:39 Просмотров 1 Источник

У меня есть контент блога, в котором администратор может добавить такой шаблон => %make123%. когда этот контент будет отображаться, я должен заменить этот %make123% на идентификатор автомобиля 123, но теперь как получить этот 123 из моего контента. а затем сделайте еще один запрос для поиска автомобиля с этим идентификатором.

это моя функция контроллера для детализации блога.

function blogDetail($blog_id, $title_link){

$dataSetArray = array();
$dataSetArray['route'] = '/blog/:blog_title';

$rs = "SELECT id, post_title, post_meta_title, post_author, post_meta_description, 
post_meta_keywords, 
post_content, post_image, DATE_FORMAT(created_at, '%d-%b-%Y') as created_at FROM blog_post
where id = '$blog_id' AND CONCAT( CONCAT( CONCAT( SUBSTRING(MY_TITLE(post_title), 1, 50),'-'), 
id),'.html') = '$title_link' ";
$results = DB::select($rs);





$results = json_decode(json_encode($results), true);
foreach ($results as $key => $value){
  $content =  $value['post_content'];
}

$pattern = '/%make(.+?)%/';

preg_match_all($pattern,$content,
$out, PREG_PATTERN_ORDER);


}

Backend находится в laravel, а frontend-в react js.

У вопроса есть решение - Посмотреть?

Ответы - Laravel находит и заменяет контент на основе выражения в контенте, поступающем из БД / Laravel find and replace content on the basis of a expression in content coming from Db

Является ответом!
VPC

04.11.2020 07:49:52

Используйте регулярное выражение, чтобы получить идентификатор содержимого из заданной строки.

$regex = '/(%)([a-zA-Z]*)([0-9]*)(%)/m';
    
preg_match_all($regex, $content, $matches, PREG_SET_ORDER, 0);
    
// Print the entire match result
echo "<pre>";
print_r($matches[0][3]);
echo "</pre>";
Помочь в развитии проекта:
Закрыть X