I have stored strings under name
column in my database like so:
materials
302 / 1001 / 8 ДЮБЕЛ 8/60
304 / 1001 / 32 НИВИЛИР АЛУМИНИЕВ AV 180
232 / 1004 / 34 РЕДУЦИР-ВЕНТИЛ ЗА КИСЛОРОД А ТИП
549 / 1034 / 10051 ТРЪБА НЕРЪЖДАЕМА ШЕВНА 3/4"
455 / 1034 / 10053 ТРЪБА НЕРЪЖДАЕМА ШЕВНА 1 1/4"
603 / 7000 / 10086 ТРЪБА ПОДЦИНКОВАНА 2"
333 / 4001 / 10101 ТРЪБА ППР Ф 25 ММ.
344 / 1002 / 10102 ТРЪБА ППР Ф 20 ММ.
The name of the material begins after the 3rd number and I’d like to remove everything before the actual name including the whitespace.
The new table should look like this:
materials
ДЮБЕЛ 8/60
НИВИЛИР АЛУМИНИЕВ AV 180
РЕДУЦИР-ВЕНТИЛ ЗА КИСЛОРОД А ТИП
ТРЪБА НЕРЪЖДАЕМА ШЕВНА 3/4"
НЕРЪЖДАЕМА ШЕВНА 1 1/4"
ПОДЦИНКОВАНА 2"
ТРЪБА ППР Ф 25 ММ.
ТРЪБА ППР Ф 20 ММ.
I have tried to achieve this in a few ways but none of them worked as expected.
strstr
for example removes everything before an occurance like /
but it only removes the first number.
Regular expressions didn’t work either.
I would appreciate any suggestions on how to solve this problem. Thank you!
2
Answers
If you want to remove all the numbers and slashes before the text (letters), you can do as in the example:
This code uses preg_replace to replace all leading numbers, whitespace and slashes with an empty string. The result is the modified strings without the unnecessary numbers before the text.
Explode with a field count, and trim the whitespace.