Düzenli İfade "" ile Myname _Mysurname relace

3 Cevap php

Böyle bir dize yerine normal bir ifade gerekir

"Myname _MySurename"  with "Myname" 

i sadece MyName ihtiyacınız var demektir, bu yüzden _MySurename kesilmelidir.

i tryed something like "/_*/" but that replaces just the _ (underscore) how can i do that in PHP ?

3 Cevap

From your description it is obvious you
know where your string has to be splitted.
Therefore: better not use regex substitution,
but use regex split:

preg_split('/\s*_/', $text)

This returns the list of splitted entries, get the first one e.g. by:

...
$names = 'Myname_MySurename'; #  'Myname _MySurename';
# print first element of splitted array
$firstname = array_shift( preg_split('/\s*_/', $names) );
...

Selamlar

rbo

Sen underscore olarak değiştirin ve aşağıdaki word olarak yapabilirsiniz:

$str = preg_replace('/_\w+/','',$str);

Ayrıca adından sonra bir boşluk var gibi görünüyor. Yani kullanabilirsiniz:

$str = preg_replace('/\s*_\w+/','',$str);

Deneyin:

/\s_.+$/

"Bir çizgi ve karakter bir dizi ardından bir boşluk (space) değiştirin". $ bu dizenin sonuna Bahisler emin kılar.

Bu denenmemiş, ancak çalışması gerekir.