нужна помощь заменить слова с php - PullRequest
1 голос
/ 05 июля 2011

Исходные слова

$string = '<a href="/home/top">here is some text</a>. <a href="/links/abc">some links here</a>...';
//more links and other html. more link like <a href="/home/below">, <a href="/links/def">...

Мне нужно изменить на

<a href="/links/abc"> => <a href="#" onclick="link('abc|123')">
<a href="/links/def"> => <a href="#" onclick="link('def|123')">
<a href="/links/ghi"> => <a href="#" onclick="link('ghi|123')">

Я пытался использовать str_replace, но его просто заменить <a href=" на <a href="#" onclick="link(' исложно судить о следующей части.но как бороться с этим заменить?Благодаря.

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

шаблон: $pattern = '@<a href=\"/links/([a-zA-Z0-9]*)\">@is';

заменить: $replace = '<a href="#" onclick="link(\'\1|123\')">';

Звоните: $result = preg_replace($pattern, $replace, $string);

1 голос
/ 05 июля 2011

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

$string = preg_replace('%href="/links/(.+?)"%', 'href="#" onclick="link(\'$1|123\')"', $string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...