Jak na kontrolu sousedících znaků

Senior69

Jak na kontrolu sousedících znaků
« kdy: 04. 04. 2014, 12:08:43 »
Zdravím, může mi prosím někdo poradit, jak co nejrychleji zkontrolovat, zda v zadané url spolu nesousedí dvě lomítka? "//". Děkuji za pomoc


Re:Jak na kontrolu sousedících znaků
« Odpověď #1 kdy: 04. 04. 2014, 13:16:58 »
Vložit to url do libovolného textového editoru a vyhledat „//“.

Ale možná chcete něco jiného – pak ale budete muset lépe popsat, čeho vlastně chcete docílit.

vyvojar

Re:Jak na kontrolu sousedících znaků
« Odpověď #2 kdy: 04. 04. 2014, 15:44:26 »
rychlovka na OS X
echo "bla//ble" | egrep // > /dev/null; echo $?

Pokud vypise 0, pak tam ty dve lomitka jsou.
Pokud vypise 1, pak tam nejsou.

Senior69

Re:Jak na kontrolu sousedících znaků
« Odpověď #3 kdy: 04. 04. 2014, 17:22:42 »
Omluvám se, jedná se o zjištění v PHP.

Re:Jak na kontrolu sousedících znaků
« Odpověď #4 kdy: 04. 04. 2014, 17:39:00 »
Kód: [Vybrat]
<?php
$url 
'...';
$pos strpos($mystring'//');

if (
$pos === false) {
    echo 
"Lomítka nesousedí.";
} else {
    echo 
"Lomítka sousedí.";
}
?>


Senior69

Re:Jak na kontrolu sousedících znaků
« Odpověď #5 kdy: 04. 04. 2014, 18:21:35 »
Někdo nějaké lepší/funkční řešení ? Děkuji

Lol Phirae

Re:Jak na kontrolu sousedících znaků
« Odpověď #6 kdy: 04. 04. 2014, 18:25:02 »
Možná až se vyžvejkneš, vo co ti vlastně jde. (Patrně zase nějaký domácí úkol na víkend.)

Senior69

Re:Jak na kontrolu sousedících znaků
« Odpověď #7 kdy: 04. 04. 2014, 18:42:36 »
Kód: [Vybrat]
$str = 'www.domena.cz/zbozi/elektro/nove';
$str = 'www.domena.cz//zbozi/elektro/nove';
$str = 'www.domena.cz/zbozi/elektro//nove';
$str = 'www.domena.cz//zbozi/elektro/nove';
$str = 'www.domena.cz//zbozi//elektro/nove';

První zápis potřebuji odlišit od těch ostatních, jelikož ten jeden je ok a neobsahuje dvě lomítka vedle sebe.. Líp už to asi nedokážu popsat...

Jenda

Re:Jak na kontrolu sousedících znaků
« Odpověď #8 kdy: 04. 04. 2014, 19:18:03 »
Kód: [Vybrat]
$str = 'www.domena.cz/zbozi/elektro/nove';
$str = 'www.domena.cz//zbozi/elektro/nove';
$str = 'www.domena.cz/zbozi/elektro//nove';
$str = 'www.domena.cz//zbozi/elektro/nove';
$str = 'www.domena.cz//zbozi//elektro/nove';

První zápis potřebuji odlišit od těch ostatních, jelikož ten jeden je ok a neobsahuje dvě lomítka vedle sebe.. Líp už to asi nedokážu popsat...
Mně ta věc se strpos funguje.

Re:Jak na kontrolu sousedících znaků
« Odpověď #9 kdy: 04. 04. 2014, 19:24:46 »
Omylem jsem ve strpos nazval proměnou $mystring místo $url. Ale pokud tohle nedokážete opravit, nepomůže vám, ani kdybych vám to dal na stříbrném podnose.

Kód: [Vybrat]
$array = array(
'www.domena.cz/zbozi/elektro/nove',
'www.domena.cz//zbozi/elektro/nove',
'www.domena.cz/zbozi/elektro//nove',
'www.domena.cz//zbozi/elektro/nove',
'www.domena.cz//zbozi//elektro/nove');
             
foreach( $array as $url ){
    $pos = strpos($url, '//');

    if ($pos === false) {
        echo $url." - lomítka nesousedí.\n";
    } else {
        echo $url." - lomítka sousedí.\n";
    }
   
}

Kód: [Vybrat]
www.domena.cz/zbozi/elektro/nove - lomítka nesousedí.
www.domena.cz//zbozi/elektro/nove - lomítka sousedí.
www.domena.cz/zbozi/elektro//nove - lomítka sousedí.
www.domena.cz//zbozi/elektro/nove - lomítka sousedí.
www.domena.cz//zbozi//elektro/nove - lomítka sousedí.