Autor Zpráva
etexweb
Profil
Mám script ktorý po zadaní viac ako jednej bodky obmedzi slovo len na jednu bodku. Ale ako dosiahnuť toho aby sa nahradovala aj pomlčka ?
<?
$slovo = "A......B.....C";
echo preg_replace('{(\.)/1+}','$1',$slovo);
// A.B.C
Keeehi
Profil
echo preg_replace('~([\.-])\1+~','$1',$slovo);
etexweb
Profil
Spravil som to takto -
echo preg_match('{(\.|-)\1+}',$slovo);

Ale mám ešte jeden problém, keď zadám AAA---BBB tak ako mi nahradi pomlcku jednou bodkou ?
YoSarin
Profil
etexweb:
preg_replace('{(\.|-)+}', '.',$slovo);

Keeehiho varianta je lepší (přinejmenším přehlednější)
Keeehi
Profil
preg_replace('~[\.-]+~', '.',$slovo);
etexweb
Profil
Mám ešte jeden TIP, čo ak sa v adrese nachádza AAA_BBB ako ju nahradiť aby bola presmerovaná a nahradená ako AAA.BBB v tomto scripte:
<?
if (preg_match('{([.\-\_])\1+}',$_GET['slovo'])){
   $oprav = preg_replace('{(\.|-|_)+}', '.',$_GET['slovo']);
   Header("Location: /".$oprav);
Keeehi
Profil
$oprav = preg_replace('~[.\-_]+~', '.',$_GET['slovo']);
if($_GET['slovo'] != $oprav)
    Header("Location: /".$oprav);
etexweb
Profil
Vyhodí chybu o tom,že stránku sa nepodarilo správne presmerovať
Keeehi
Profil
[#7] upravena
Pokud se stále chyba přetrvává, zkus použít absolutní adresu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0