Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Senior69 04. 04. 2014, 12:08:43

Název: Jak na kontrolu sousedících znaků
Přispěvatel: Senior69 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
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Filip Jirsák 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.
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: vyvojar 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.
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Senior69 04. 04. 2014, 17:22:42
Omluvám se, jedná se o zjištění v PHP.
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Filip Jirsák 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í.";
}
?>
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Senior69 04. 04. 2014, 18:21:35
Někdo nějaké lepší/funkční řešení ? Děkuji
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Lol Phirae 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.)
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Senior69 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...
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Jenda 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.
Název: Re:Jak na kontrolu sousedících znaků
Přispěvatel: Filip Jirsák 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í.