2015-09-24 1 views
0

Прежде чем давать отрицательный ответ, пожалуйста, прочитайте.Найти первый src в строке php

Это дало

[et_pb_image admin_label="Image" src="https://scontent-mia1-1.xx.fbcdn.net/hphotos-xaf1/v/t1.0-9/10848034_8974277986_916022442694_n.jpg?oh=9edafcdfb85e2c1b30ed77e6fb8&oe=566091B0" show_in_lightbox="off" url="" url_new_window="off" animation="left" sticky="off" align="left" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_style="solid" /] 

Как я могу сделать первый Src URL?

это не работает для меня

$new = preg_match('/src="(.*)|[^"]"/iS', $y->post_content, $img); 
echo '<pre>'; print_r($new); echo '</pre>'; 
+0

Какой выход вы получите и то, что ожидаемые результаты? – ArjanSchouten

+0

выход Массив ( [0] => =» ) все мне нужно, это изображение ЦСИ ссылка –

ответ

2

Следующая должно работать:

$myString = '[et_pb_image admin_label="Image" src="https://scontent-mia1-1.xx.fbcdn.net/hphotos-xaf1/v/t1.0-9/10848034_8974277986_916022442694_n.jpg?oh=9edafcdfb85e2c1b30ed77e6fb8&oe=566091B0" show_in_lightbox="off" url="" url_new_window="off" animation="left" sticky="off" align="left" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_style="solid" /]'; 

if(preg_match('/src="([^"]*)/i', $myString , $img)) { 
    echo '<pre>'; 
    print_r($img); 
    $src = $img[1]; 
    echo '</pre>'; 
    echo '<hr />' . $src; 
} 

Что случилось с вашим кодом:

  1. preg_match возвращает логическое значение. Правда, когда что-то найдено.
  2. src="(.*)|[^"]" неправ. src=" является правильным. После этого вы будете соответствовать всем до конца строки. Это не то, что вы хотите.
  3. Кроме того, $img должен содержать ваш результат.

Почему выше работает:

/src=" # match the src 
(
    [^"] # matches everything except " 
*)  # capture the content between the quotes "[the src]" 
/ix 

Вы можете найти рабочую версию здесь: http://sandbox.onlinephpfunctions.com/code/c71983343308a29272d90a441486474148ab3995

+0

Благодаря мат :) отлично работает –

+0

Nice! Убедитесь, что вы понимаете, почему это не работает :) – ArjanSchouten

+0

Я понял, что объяснение имеет смысл –

Смежные вопросы