Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
<?php
$text = <<<'EOT'
key to hyt <a href="der/key"> key </a> frty <img src="path/key"/> <a href="der/key2"> other key </a>
as fsdf sadf <img src="path/key"/> as gasdrg arg key <a href="der3/key"> key </a> fsefwesf
EOT;
// Запоминаем все линки
$links_regexp = '/(<a\s+[^>]*>[^<]*<\/a>)/im';
preg_match_all($links_regexp, $text, $links);
// Запоминаем все картинки
$images_regexp = '/(<img\s+[^>]*>)/im';
preg_match_all($images_regexp, $text, $images);
// Меняем линки на плейсхолдер
$link_placeholder = '{link_placeholder}';
$no_links = preg_replace($links_regexp, $link_placeholder, $text);
// Меняем картинки на плейсхолдер
$img_placeholder = '{img_placeholder}';
$no_links_and_images = preg_replace($images_regexp, $img_placeholder, $no_links);
// Меняем key - на линку
$no_links_and_images = preg_replace('/key/im', '<a href="goto/hell">key</a>', $no_links_and_images);
$count = 1;
// Возвращаем на место линки
if (count($links[1]))
foreach($links[1] as $link)
$no_links_and_images = str_replace($link_placeholder, $link, $no_links_and_images, $count);
// Возвращаем на место картинки
if (count($images[1]))
foreach($images[1] as $img)
$no_links_and_images = str_replace($img_placeholder, $img, $no_links_and_images, $count);
echo $no_links_and_images;
?>
Да вообще лучше любые теги убрать, так надежнее и практически ничего не стоит. Я бы модифицировал скрипт vhome следующим образом:P.S. Что еще кроме ссылок и картинок стоит вырезать в данном случае, iframe и BBcode вроде все?
<?php
$text = <<<'EOT'
key to hyt <a href="der/key"> key </a> frty <img src="path/key"/> <a href="der/key2"> other key </a>
as fsdf sadf <img src="path/key"/> as gasdrg arg key <a href="der3/key"> key </a> fsefwesf
EOT;
// Запоминаем всё лишнее
$regexp = '/(<a\s+[^>]*>[\W\w]*?<\/a>|<iframe[^>]*>[\W\w]*?<\/iframe>|<[^>]*>)/i';
preg_match_all($regexp, $text, $remember);
// Меняем линки на плейсхолдер
$placeholder = '{placeholder}';
$clear_text = preg_replace($regexp, $placeholder, $text);
// Меняем key - на линку
$clear_text = preg_replace('/key/im', '<a href="goto/hell">key</a>', $clear_text);
$count = 1;
// Возвращаем на место
if (count($remember[1]))
foreach($remember[1] as $r)
$clear_text = str_replace($placeholder, $r, $clear_text, $count);
echo $clear_text;
?>