Intereting Posts

Замена тега <a> тегом <b> с помощью PHP

Хорошо, у меня есть раздел кода с такими вещами, как:
<a title="title" href="http://example.com">Text</a>

Мне нужно как-то переформатировать их так, чтобы они стали:
<b>Text</b>

Есть по меньшей мере 24 ссылки, которые меняются, и все они имеют разные заголовки и href. Спасибо заранее, Остин.

Хотя это и не оптимально, вы можете сделать это с помощью регулярных выражений:

 $string = '<a title="title" href="http://example.com">Text</a>'; $string = preg_replace("/<a\s(.+?)>(.+?)<\/a>/is", "<b>$2</b>", $string); echo($string); 

В основном это говорит о том, что вы ищете часть строки, которая имеет форму <a*>{TEXT}</a> , скопируйте {TEXT} и замените эту целую строку с помощью <b>{TEXT}</b> ,

Попробуй это,

 $link = '<a title="title" href="http://example.com">Text</a>'; echo $formatted = "<b>".strip_tags($link)."</b>"; 

Проверьте эту ссылку, я думаю, это то, что вы ищете.

Вы хотите прочитать о Регулярных выражениях, потому что они понадобятся вам рано или поздно в любом случае. Если вы не возражаете против содержимого свойства href, вы можете использовать:

 s/<a(?:\s[^>]*)?>([^<]+)<\/a>/<b>\1<\/b>/ 

Часть между первым // ищет открывающий тег (либо <a> в отдельности или с некоторыми параметрами, в этом случае требуется пустое пространство \ s, чтобы избежать совпадения <abbrev>, например), некоторый текст, который будет сохранен скобки и закрывающий тег. Часть между второй // является замещающей частью, где \ 1 обозначает текст, сопоставляемый скобками в первой части.

См. Также функцию preg_replace PHP. Тогда окончательное выражение будет выглядеть так (проверено):

 preg_replace('/<a(?:\s[^>]*)?>([^<]+)<\/a>/i', '<b>\\1</b>', '<a href="blabla">Text</a>');