Portál AbcLinuxu, 11. května 2025 10:27
$string = '++abc++def'; $others = explode('+', $string); if (count($others) > 1) { $others[0] = sprintf('%s%s', $others[0], '+'); } print(implode('', $others));
1) jedna se o php, sed by mu asi nepomohlKde vidíš jaký
sed
?
2) chce smazat vsechny + krome prvniho, ne jen ty ktere nasleduji jine +Pak bych to viděl na: 1) split podle prvního plusu 2) například
s/\+//
na druhou část řetězce
/e
v php
tak něco takového
s/(\+)/if(!$i++){$1}/ge
popř.
s/\+/nahrada za plus/; s/\+/$1/g; s/nahrada za plus/+/
je to psáno v perlu tak si to upravte pro PHP
function removeNextOccurances($value, $char) { $index = strpos($value, $char); if ($index===false) return $value; else return (substr($value, 0, $index+1) . str_replace($char, '', substr($value, $index+1))); }toto by malo fungovat rychlejsie ako regularny vyraz aj ako praca s poliami, reg. vyraz ale mozes lahsie upravit.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.