2016-10-24 4 views
0

смещением Я следующий вывод:PHP str_replace с

Item 
Length : 130 
Depth : 25 
Total Area (sq cm): 3250 
Wood Finish: Beech 
Etc: etc 

Я хочу, чтобы удалить Общая площадь (кв см): и 4 цифры после нее из строки, в настоящее время я пытаюсь использовать str_replace как так:

$tidy_str = str_replace($totalarea, "", $tidy_str); 

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

+1

'preg_replace' http://php.net/manual/en/function.preg-replace.php – Scott

ответ

0

Попробуйте с этим:

preg_replace('/(Total Area \(sq cm\):)([0-9\.,]*)/' , '', $tidy_str); 
1

Вы можете практиковать PHP регулярное выражение в http://www.phpliveregex.com/

<?php 

$str = ' 
Item 
Length : 130 
Depth : 25 
Total Area (sq cm): 3250 
Wood Finish: Beech 
Etc: etc 
'; 

echo preg_replace("/Total Area \(sq cm\): [0-9]*\\n/", "", $str); 
Item 
Length : 130 
Depth : 25 
Wood Finish: Beech 
Etc: etc 
0

Вы ищете substr_replace:

$strToSearch = "Total Area (sq cm):"; 
$totalAreaIndex = strpos($tidy_str, $strToSearch); 
echo substr_replace($tidy_str, '', $totalAreaIndex, strlen($strToSearch) + 5); // 5 = space plus 4 numbers. 

Если вы хотите, чтобы удалить символ новой строки тоже,вы должны проверить, что это \ n или \ r \ n. \ n добавить один, \ r \ n добавить два к смещению. То есть. strlen($strToSearch) + 7