Просмотреть string PHP
мне Нужно пройти через строку, и внутри этого string придет теги imagens
нужно выбрать первый.
Я с помощью strstr()
но не работает.
$img = strstr($texto, '%img');
echo $img;
Как я должен сделать, чтобы иметь правильная цель ?
причина для использования на этот вопрос, потому что я сохраняю одно сообщение, где я даю возможность сохранения изображения с вместе, но мне нужно сделать превью этого поста, где делает эскиз с изображением. Так что мне нужно пройти все это строки, так что я определить, какой образ связан с тем, проводки, чтобы перейти в папку и определить, чтобы собрать thumbnail.
3 answers
Вы Можете использовать регулярные выражения!
, Чтобы иметь дело только с первым изображением, вы можете использовать функции preg_match
:
$html = 'Muita cena aqui pelo meio e com tags<br><img alt="imagem 1" src="imagem1.jpg"/><br/><img alt="imagem 2" src="imagem2.jpg"/><br/>';
preg_match('@<img.+src="(.*)".*>@Uims', $html, $matches);
echo $matches[1];
Смотрите в Ideone.
Если вы хотите справиться со всеми изображениями, вы можете использовать функции preg_match_all
:
$html = 'Muita cena aqui pelo meio e com tags<br><img alt="imagem 1" src="imagem1.jpg"/><br/><img alt="imagem 2" src="imagem2.jpg"/><br/>';
preg_match_all('/<img [^>]*src=["|\']([^"|\']+)/i', $html, $matches);
foreach ($matches[1] as $key=>$value) {
echo PHP_EOL . $value;
}
Смотрите в Ideone.
Для тебя limitares на первый, просто выйти из цикла в первой:
foreach ($matches[1] as $key=>$value) {
echo PHP_EOL . $value;
break;
}
Смотрите в Ideone.
Добрый день.
Как я понимаю, ты хочешь пойти и получить первое изображение правильно? Я была на форуме, если хотел source изображения или тег полный... поэтому я сделал следующее.
<?php
$str = '<im src="urlexemplo/imagem1.png"/><img src="urlexemplo/imagem2.png"/>';
preg_match('/< *img[^>]*src *= *["\']?([^"\']*)[^>]+>/i', $str, $matchesSRC);
var_dump($matchesSRC);
; вы можете увидеть работы, здесь.
Поместил изображение 1 ошибке, чтобы увидеть код операции.
Пойдете искать изображения SRC делаешь $matchesSRC[1]
и, чтобы получить тег полная делаешь $matchesSRC[0]
.
, Надеюсь, это тебе помочь.
Седня, Иакова.
public static function removerCaracteresEspeciaiss($str){
$str_saida = "";
for($i=0; $i<strlen($str); $i++){
$num_asc = ord($str[$i]);
if( ($num_asc>=65 && $num_asc<=90) || ($num_asc>=97 && $num_asc<=122) || ($num_asc>=48 && $num_asc<=57)){
$str_saida .= $str[$i];
}
}
return $str_saida;
}