Найдите ключевые слова в статье и добавьте к ним гиперссылки.
Найдите ключевые слова в тексте и добавьте к ним гиперссылку. Если есть необходимость в замене ключевого слова, вы все равно можете изменить его на основе этого класса. Порядок замены основан на индексе массива. Вы можете записать правила в данные и добавить поля веса. Вы можете динамически настраивать приоритет замены ключевого слова или гиперссылки.
php /** *Add a connection to match to character in Article * Created by PhpStorm. * User: smallForest<[email protected]> * Date: 2019-06-06 * Time: 09:19 */ class addLink { protected $content = ''; protected $replace_rules = []; public function __construct($content, $replace_rules) { $this->content = $content; $this->replace_rules = $replace_rules; } public function do_replace() { //Replace returns the replaced string if (!empty($this->replace_rules)) { foreach ($this->replace_rules as $rule) { $this->content = preg_replace('/(?!<[^>]*)' . $rule['key_word'] . '(?![^<]*(>|<\/[a|sc]))/s', '' . $rule['key_word'] . "", $this->content, $rule['replace_times'], $count); // you can know the replacement result by judging that the count field is greater than 0. } } return $this->content; } } $rule = [ [ 'key_word' = > 'Chinese', // keyword 'URL' = > http://www.baidu.com? Id = Chinese ', // hyperlink to be added 'target' = > 'replace_times' = > 1, // the number of times allowed to replace - 1 is unlimited! ], [ 'key_word' = > 'China', // keyword 'URL' = > http://www.baidu.com? Id = China ', // hyperlink to be added 'target' = > 'replace_times' = > 1, // the number of times allowed to replace - 1 is unlimited! ], [ 'key Ou word' = > person ', 'URL' = > http://www.baidu.com? Id = person ', 'target' => '_blank', 'replace_times' => 1, ], ]; $obj = new addlink ('I'm Chinese ', $rule); echo $obj->do_replace();