Portál AbcLinuxu, 15. listopadu 2025 18:44
$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.