|
|
|
| Добрый день! Не могу решить одну задачу, помогите пожалуйста. Суть задачи такова:
Имеется текст. Требуется отыскать в нем все ссылки на mp3 файлы и дополнить их(допустим, поместить в конструкцию вида [this is mp3: найденная ссылка])
Как заменить ссылку, я догадался:)
function my_dummy_function($content) {
$pattern = "<a ([^=]+=['\"][^\"']+['\"] )*href=['\"](([^\"']+\.mp3))['\"]( [^=]+=['\"][^\"']+['\"])*>([^<]+)<\/a>";
$content = ereg_replace($pattern, "Link", $content);
return $content;
}
а вот как получить её и дополнить(в тексте может быть несколько ссылок)? | |
|
|
|
|
|
|
|
для: red_komrad
(30.09.2010 в 22:15)
| | preg_replace
<?php
header('content-type: text/plain');
$content='<a href=".mp3">sound</a>
<a href=".mp19">soul</a>
';
$pattern = '#<a\s+[^>]*?href=[\'"][^\'"]++(?<=\.mp3)[^>]++>#i';
echo $content = preg_replace($pattern, '$0[this is mp3]: ', $content);
|
| |
|
|
|
|
|
|
|
для: heed
(01.10.2010 в 03:42)
| | Спасибо за совет, все работает! | |
|
|
|
|
|
|
|
для: heed
(01.10.2010 в 03:42)
| | Но можно ли кое-что уточнить?
можно ли как-то закрыть ] после ссылки?
как взять в [ ] именно ссылку, а не вывести [this is mp3] между тегами <a> | |
|
|
|
|
|
|
|
для: red_komrad
(01.10.2010 в 23:54)
| |
preg_replace('#abc#', '$0[..]', ...) => ...abc[..].....
preg_replace('#(a)(b)#', '$1[..$2]', ...) => ...a[..b]c........
preg_replace('#(a)(bc)#', '[$1..$2]', ...) => ...[a..bc].....
...
|
| |
|
|
|