Преобразовать гиперссылку изображения в <img>с помощью PHP - PullRequest
0 голосов
/ 15 июля 2011

У меня есть этот блок кода, который имеет URL-адрес изображения.Как преобразовать это в тег с помощью SRC?Вот пример кода

    <div class="field-items">
        <div class="field-item odd"><a type="image/jpeg; length=72486" href="http://www.xyz-website.com/files/263780_147936011949340_128540677222207_316406_533387_n.jpg">263780_147936011949340_128540677222207_316406_533387_n.jpg</a></div></div>

Итак, из приведенного выше кода я хочу преобразовать его в нечто подобное

<div><img src="http://www.xyz-website.com/files/263780_147936011949340_128540677222207_316406_533387_n.jpg"/><div>

Я также хочу сделать это для определенного домена.в приведенном выше примере его xyz-website.com

Спасибо.

Ответы [ 3 ]

0 голосов
/ 15 июля 2011

Вы можете взорвать тег и получить необходимую информацию:

$all_html = '263780_147936011949340_128540677222207_316406_533387_n.jpg';
$tmp1 = explode('href="', $all_html);
$tmp2 = explode('"', $tmp1[1]);
$image_url = $tmp2[0];
if (strpos($image_url, 'xyz-website.com') > -1) {
    //only output image if the url of the image includes 'xyz-website.com'
    echo '';
}
0 голосов
/ 15 июля 2011

Вот код, который вам нужен. Вы хотите изменить его, чтобы он был более конкретным для ваших нужд. Но при этом используется регулярное выражение для извлечения пути к изображению и сохранения всех найденных изображений в массив, который затем можно использовать для его вывода.

$str = '<div class="field-items"><div class="field-item odd"><a type="image/jpeg; length=72486" href="http://www.xyz-website.com/files/263780_147936011949340_128540677222207_316406_533387_n.jpg">263780_147936011949340_128540677222207_316406_533387_n.jpg</a></div></div>';

preg_match('/href="(.)+"/', $str, $matches);
$image_extensions = array('.jpg', '.bmp', '.png');

foreach ($matches AS $match)
  foreach ($image_extensions AS $ext)
    if (stristr($match, $ext . '"')) //I add the double-quote to the string to signify the end of the href param and prevent string detection confusion
      $images[] = str_replace(array('href="', '"'), '', $match);

foreach ($images AS $image)
  echo "<div><img src='$image'/><div>";
0 голосов
/ 15 июля 2011

используйте регулярное выражение.

preg_replace('~<div class="field-item odd"><a type="image/jpeg; length=72486" href="(.+?)">(?:.+?)</a></div></div>~i', '<div><img src="$1"/><div>', $str);

как то так

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