Использование php заменяет регулярное выражение регулярным выражением
Я хочу заменить хэш-теги в строке тем же хэш-тегом, но после добавления ссылки на него
Пример:
$text = "any word here related to #English must #be replaced."
Я хочу заменить каждый хэштег на
#English ---> <a href="bla bla">#English</a>
#be ---> <a href="bla bla">#be</a>
Таким образом, outpu должен быть таким:
$text = "any word here related to <a href="bla bla">#English</a> must <a href="bla bla">#be</a> replaced."
Спасибо
16
Author: user1272589, 2014-02-26
2 answers
$input_lines="any word here related to #English must #be replaced.";
preg_replace("/(#\w+)/", "<a href='bla bla'>$1</a>", $input_lines);
ВЫХОД:
any word here related to <a href='bla bla'>#English</a> must <a href='bla bla'>#be</a> replaced.
25
Author: Nambi, 2014-02-26 11:44:58
Это должно подтолкнуть вас в правильном направлении:
echo preg_replace_callback('/#(\w+)/', function($match) {
return sprintf('<a href="https://www.google.com?q=%s">%s</a>',
urlencode($match[1]),
htmlspecialchars($match[0])
);
}, htmlspecialchars($text));
См. также: preg_replace_callback()
6
Author: Ja͢ck, 2014-02-26 12:27:00