php - Conditionally Strip Characters From String -
i trying strip characters ['-] string, not when string starts "'t'. code @ present:
$name = "'-'-''t van t der reidjen--'-'-"; $name = preg_replace( '~(^|\s)[-\']+(?!t )(\s|$)~', ' ', $name );
desired results:
"'-'-''t van t der reidjen--'-'-" => "'t van t der reidjen" "van 't der reidjen--'-'-" => "van t der reidjen" "-van - der -'- reidjen-" => "van der reidjen"
i.e. leave "'t" @ beginning of string, if prefixed number of [-'] characters, if "'t" found anywhere other beginning of string "'" removed.
how this:
/([-]+)|((?!'t)['])/g
the expresion above separated -
, '
since tricky 1 '
using ahead excluded 't
text.
(?!'t)
: negative ahead - excludes 't
matches.
note: these characters 't
being evaluated case sensitive.
Comments
Post a Comment