/src=[\\"']+((.*\/\/|)([\/a-z0-9_%-\.]+\.(jpg|png|gif))(.*?))[\\"']+/gi
$re = '/src=[\\\\"\']+((.*\/\/|)([\/a-z0-9_%-\.]+\.(jpg|png|gif))(.*?))[\\\\"\']+/i';
$str = '<div style=\\"text-align: center;\\"><img src=\\"http://sitename.ru/uploads/posts/2016-09/1473963049_1.jpg\\" alt=\\"\\" border=\\"0\\" style=\\"margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;\\" /><span style=\\"letter-spacing: 0px; line-height: 1.5em; word-spacing: 1.1px; font-family: \\">У каждой работы — и в офисе, и во фрилансе — есть свои прелести и недостатки. А вот какие — это и покажут следующие иллюстрации. </span>';
preg_match_all($re, $str, $matches);
// Print the entire match result
print_r($matches);
//case1
$s='<img alt="" src="xxx.com/ooo.jpg?12345">';
$p="/(.*)(\?.*)([\"'].*)/usi";
$r='$1$3';
$s2=preg_replace($p,$r,$s); //<img alt="" src="xxx.com/ooo.jpg">
echo htmlspecialchars($s.' => '.$s2).'<br>';
//case2
$s='<iframe width="560" height="315" src="https://www.youtube.com/embed/ED96RtfF22E" frameborder="0" allowfullscreen></iframe>';
$p="/embed\/+([^\"']+)/usi";
preg_match($p,$s,$s2);
$s2='[YT]'.$s2[1].'[/YT]'; //[YT]ED96RtfF22E[/YT]
echo htmlspecialchars($s.' => '.$s2).'<br>';
/["']((.*\/\/|)([\/a-z0-9_%]+\.(jpg|png|gif)))["']/g
----------
Находит URL строки с изображениями в HTML:
$1 => путь к изображению
$2 => протокол, если путь АБСОЛЮТНЫЙ
$3 => путь к изображению без протокола, если путь АБСОЛЮТНЫЙ
$4 => расширение изображения (jpg,png или gif)
PHP:
----------------------------
$re = "/[\"']((.*\\/\\/|)([\\/a-z0-9_%]+\\.(jpg|png|gif)))[\"']/";
javascript:
------------------------
var re = /["']((.*\/\/|)([\/a-z0-9_%]+\.(jpg|png|gif)))["']/g;
var str = '[TEXT]';
var m;
while ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}
PYTHON:
--------------------------
import re
p = re.compile(ur'["\']((.*\/\/|)([\/a-z0-9_%]+\.(jpg|png|gif)))["\']')
test_str = u"[TEXT]"
re.findall(p, test_str)
$datatext=<<<t
"Он сказал, - поехали"
"Он сказал поехали!"
"Он сказал - поехали?"
"Он сказал поехали?!"
"Он сказал поехали..."
"Он сказал "поехали"
<b>"Он сказал, — поехали"</b>
"Ж"
"Ж" "полная"
"7" "444 "888"
""
t;
$datatext=preg_replace_callback(
'#(([\"]{2,})|(?![^\W])(\"))|([^\s][\"]+(?![\w]))#u',
function ($matches) {
if (count($matches)===3) return "«»";
else if ($matches[1]) return str_replace('"',"«",$matches[1]);
else return str_replace('"',"»",$matches[4]);
},
$datatext
);
echo "<pre>".$datatext."</pre>";
/*
«Он сказал, - поехали»
«Он сказал поехали!»
«Он сказал - поехали?»
«Он сказал поехали?!»
«Он сказал поехали...»
«Он сказал «поехали»
«Он сказал, — поехали»
«Ж»
«Ж» «полная»
«7» «444 «888»
«»
*/
/(.*)\|[\s\t]+[\s\t]+([0-9.,-]+(([\t\s]+)|))\|(.*)/gu