2013-09-03 2 views
0

У меня есть база данных с этими длинными описаниями, и мне нужно выяснить, как извлечь код местоположения из описания. Я использую preg_replace(), чтобы соответствовать этому примеру.php preg_replace часть длинной строки

$string = "Honda 1982 VF750C Magna right-side radiator trim panel. Good, damage-free condition. Needs cut and polished. Cheap, fast shipping! 011425 H6 <img src=\">http://www.roofis27.com/motorcycle/10_01_14/030.JPG\"> n=\">"; 
$pattern = '(\d\d\d\d\d\d\s\D\d)'; 
$replace = '$1'; 
echo 'Replaced String: ' . preg_replace($pattern, $replace, $string) . '<br>'; 
echo '<br>'; 
echo 'Original String: ' . $string; 

Что мне нужно сделать, это удалить все НО011425 H6 в $string. Я не могу понять, как избавиться от остальной части строки. Я могу сопоставить шаблон, но какое регулярное выражение я использую для удаления остальной строки? Более менее удаляйте все до и после 011425 H6. Любая помощь будет высоко оценен и спасибо заранее :)

+0

является его всегда перед '' тега? – hek2mgl

ответ

0

лишь небольшой модификации, то он должен работать:

<?php 

$string = "Honda 1982 VF750C Magna right-side radiator trim panel. Good, damage-free condition. Needs cut and polished. Cheap, fast shipping! 011425 H6 <img src=\">http://www.roofis27.com/motorcycle/10_01_14/030.JPG\"> n=\">"; 
$pattern = '/^.*\b(\d\d\d\d\d\d\s\D\d)\b.*$/'; 
$replace = '$1'; 
echo 'Replaced String: ' . preg_replace($pattern, $replace, $string) . '<br>'; 
echo '<br>'; 
echo 'Original String: ' . $string; 
+0

Удивительно, я думал, что это что-то вроде этого, но я застрял с помощью '^ (\ d \ d \ d \ d \ d \ d \ s \ D \ d) $'. У вас есть хорошие ссылки для изучения regex, BETTER :) – handmdmr

+0

Все, что я читал, было [Освоение регулярных выражений] (http://shop.oreilly.com/product/9780596528126.do) из O'Reilly. Конечно, можно порекомендовать его. – ukautz

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