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);

Другие вопросы по тегам