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