Просмотреть string PHP


мне Нужно пройти через строку, и внутри этого string придет теги imagens нужно выбрать первый. Я с помощью strstr() но не работает.

$img = strstr($texto, '%img');
echo $img;

Как я должен сделать, чтобы иметь правильная цель ?

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

 2
php
Author: Renan Rodrigues, 2015-07-08

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.

 5
Author: Zuul, 2015-07-08 18:23:38

Добрый день.

Как я понимаю, ты хочешь пойти и получить первое изображение правильно? Я была на форуме, если хотел 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].

, Надеюсь, это тебе помочь.

Седня, Иакова.

 1
Author: Tiago Oitavén, 2015-07-08 18:31:53
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;
}
 -3
Author: Renato, 2020-10-07 23:10:39