PHP Regex - текст в ссылку
То, что я пытаюсь сделать, это заменить символы, которые будут изменены, начать строку, а затем последний символ, который закроет строку - изменив их оба на ссылку, затем она будет сохранена в базе данных, это что-то вроде Википедии.
Я хочу иметь что-то вроде этого, когда кто-то печатает текстовую область:
"This woman was killed by [Tom Hanks] in 2002"
[
а также ]
будет преобразован в ссылку с Томом Хэнксом в ссылке href (которая направлена htaccess - я уже сделал это).
Итак, он должен вывести что-то вроде этого:
"This woman was killed by <a href=\"Tom Hanks\">Tom Hanks</a> in 2002"
Расположение ссылки всегда будет именем обернутого текста.
После этого он должен быть в состоянии сохранить в базе данных с косой чертой.
3 ответа
Ты можешь использовать:
$s = preg_replace('~\[(.*?)\]~is', '<a href="\1">\1</a>', $s);
$result = preg_replace('/\[(.*?)\]/i', '<a href=\"$1\">$1</a>', $subject);
Обратите внимание, что вы можете запретить использование кавычек и тегов в URL, что может привести к выводу нежелательных HTML-кодов.
$result = preg_replace("/\[([^\"\'<>\[\]]+)\]/i", "<a href=\"$1\">$1</a>", $subject);