У меня есть эта функция, которая ищет строки, как это:Условный в поиске и замене функции PHP
<unique>342342342</unique>
<unique>5345345345345435345</unique>
<unique>4444</unique>
функция:
$pattern = '/<unique>(.*?)<\/unique>/';
$response = preg_replace_callback($pattern,function($match){
$value = intval(trim($match[1])/200);
return '<unique>'.$value.'</unique>';
},$xml);
и изменить число в два раза (п/2). Все идет нормально.
Но мне нужно добавить условие, чтобы проверить, имеет ли число более 10 цифр, если true, то делает изменение, если нет, нет.
Я попытался это, но нет ... все экземпляры де '4444' удаляются
$pattern = '/<unique>(.*?)<\/unique>/';
$response = preg_replace_callback($pattern,function($match){
$valueunique = trim($match[1]);
if(strlen($valueunique) >= 11){
$value = intval($valueunique/200);
return '<unique>'.$value.'</unique>';
}
},$xml);
Кажется, что все в порядке. В чем дело? – Toto
@Toto все экземпляры de '' удаляться. – JPashs
ОК, я вижу, взгляните на мой ответ. – Toto