PHP регулярное выражение - текст в ссылку - PullRequest
0 голосов
/ 11 февраля 2010

То, что я пытаюсь сделать, это заменить символы, которые будут изменены, начать строку, а затем последний символ, который закроет строку - изменив их оба на ссылку, затем она будет сохранена в базе данных, это что-то вроде Wikipedia.

Я хочу иметь что-то подобное, когда кто-то печатает текстовую область:

"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 ]

3 голосов
/ 11 февраля 2010

Вы можете использовать:

$s = preg_replace('~\[(.*?)\]~is', '<a href="\1">\1</a>', $s);
2 голосов
/ 11 февраля 2010
$result = preg_replace('/\[(.*?)\]/i', '<a href=\"$1\">$1</a>', $subject);
1 голос
/ 11 февраля 2010

Обратите внимание, что вы можете запретить использование кавычек и тегов в URL, что может привести к выводу нежелательных HTML-кодов.

$result = preg_replace("/\[([^\"\'<>\[\]]+)\]/i", "<a href=\"$1\">$1</a>", $subject);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...