facebook regex
Er zijn namelijk diverse mogelijkheden:
facebook.com/pages/somename
facebook.com/somename
www.facebook.com/pages/somename
www.facebook.com/somename
http(s)://facebook.com/pages/somename
http(s)://www.facebook.com/somename
Ik heb de volgende regex geprobeerd, maar lijkt niet geheel te werken, de controle klopt niet.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function valid_facebook_url($field){
if(!preg_match('/^(http\:\/\/|https\:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w\.)*#!\/)?(?:pages\/)?(?:[\w\-\.]*\/)*([\w\-\.]*)/', $field)){
return false;
}
return true;
}
?>
function valid_facebook_url($field){
if(!preg_match('/^(http\:\/\/|https\:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w\.)*#!\/)?(?:pages\/)?(?:[\w\-\.]*\/)*([\w\-\.]*)/', $field)){
return false;
}
return true;
}
?>
$field is het inputveld van facebook.
De functie wordt aangeroepen in een ajax call, en geeft een melding terug of de link klopt ja of nee, maar omdat er vele mogelijkheden zijn weet ik niet precies waarom het niet klopt.
Ook als ik een foute link invoer, waar alleen facebook.com instaat, zegt ie ook dat de link klopt.
Geen idee of het werkt ... ik heb m'n best gedaan ;)
Quote:
De functie wordt aangeroepen in een ajax call, en geeft een melding terug of de link klopt ja of nee, maar omdat er vele mogelijkheden zijn weet ik niet precies waarom het niet klopt.
Heb je uitgesloten dat er niet iets mis is met de waarde die je teruggeeft? Wat voor type data verwacht de AJAX-call terug? JSON? Iets anders? Voorzie je deze response ook van de goede headers (application/json) en heeft deze het goede formaat (converteer je data naar JSON via json_encode)?
Altijd zo leuk als iemand spontaan even reageert om te laten weten of het gelukt is, en of ie iets aan de feedback heeft gehad. En dat ie ook ingaat op kritische vragen die worden gesteld. Ja, dat geeft je echt het gevoel dat de moeite die je ervoor hebt gedaan en de tijd die je erin hebt geïnvesteerd ook echt gewaardeerd wordt. Leuk en hartelijk dank voor je spontane bedankje!! De volgende keer helpen we je graag weer hoor!!
Sorry voor de late reactie, ik heb het heel erg druk gehad de afgelopen week en daarom nog niet gereageerd op alle reacties.
Niet iedereen reageert binnen een dag of 2.
Als ik nou na een maand nog niet gereageerd zou hebben, dan geef ik je gelijk, maar vindt je reactie nu een beetje overdreven, aangezien je eerste reactie van 26 juli is.
Ik heb de reacties bekeken en ga de oplossing met parse_url doen, dit is voor mij de meest makkelijke en logische oplossing.
@Thomas, die functie klopt helemaal, is niks mis mee. Ik gebruik het in wordpress en dan idd met json. Alles verder goed in het juiste formaat.
Allemaal bedankt voor jullie reacties en hulp.
Dat is helaas hét standaardexcuus dat we hier in vergelijkbare gevallen altijd voorbij zien komen.
>> Als ik nou na een maand nog niet gereageerd zou hebben
Na een maand? Ben je nu echt serieus?
Jij stelt een vraag ... vervolgens reageren daar maar liefst 3 mensen op die waarschijnlijk allemaal wel iets beters te doen hebben. Dan is het best jammer dat jij vervolgens niks laat horen. En dat je het druk hebt is geen excuus om even 'bedankt' te roepen lijkt mij. Jij initieert zelf een vraag ... dan is het vrij logisch dat als andere mensen jou een antwoord geven, dat je daar dan even op reageert. Je bent hier overigens al meer dan 5 jaar lid. Je hebt in die tijd niemand anders geholpen, maar alleen zelf 4 vragen gesteld, waarbij je eerste en laatste reactie telkens op één en dezelfde dag was. Je maakt mij dan ook niet wijs dat je nog van plan was om nog op dit topic te gaan reageren.
Maar goed, je hebt je info binnen en je kunt vooruit, dus we laten het hier maar bij. Succes verder.
Ozzie PHP op 31/07/2016 16:06:29:
>> Dat is helaas hét standaardexcuus dat we hier in vergelijkbare gevallen altijd voorbij zien komen.
Dat vindt ik nergens op slaan, je hebt geen idee hoe druk ik het heb gehad, dus kun je daar niet over oordelen, doe dat dan ook niet.
>> Jij stelt een vraag ... vervolgens reageren daar maar liefst 3 mensen op die waarschijnlijk allemaal wel iets beters te doen hebben. Dan is het best jammer dat jij vervolgens niks laat horen. En dat je het druk hebt is geen excuus om even 'bedankt' te roepen lijkt mij. Jij initieert zelf een vraag ... dan is het vrij logisch dat als andere mensen jou een antwoord geven, dat je daar dan even op reageert. Je bent hier overigens al meer dan 5 jaar lid. Je hebt in die tijd niemand anders geholpen, maar alleen zelf 4 vragen gesteld, waarbij je eerste en laatste reactie telkens op één en dezelfde dag was. Je maakt mij dan ook niet wijs dat je nog van plan was om nog op dit topic te gaan reageren.
Als ik het te druk heb met mijn eigen werk (wat jij niet kunt weten), wil niet zeggen dat ik niet reageer of iemand niet bedank. Misschien heb je het in het verleden vaker meegemaakt, maar dat wil niet zeggen dat iedereen zo is.
Dat ik in al die 5 jaren niemand heb geholpen zegt helemaal niks. En dat je ergens maar vanuit gaat, is jouw probleem, dat wil niet zeggen dat het ook zo is.
Dat vindt ik nergens op slaan, je hebt geen idee hoe druk ik het heb gehad, dus kun je daar niet over oordelen, doe dat dan ook niet.
>> Jij stelt een vraag ... vervolgens reageren daar maar liefst 3 mensen op die waarschijnlijk allemaal wel iets beters te doen hebben. Dan is het best jammer dat jij vervolgens niks laat horen. En dat je het druk hebt is geen excuus om even 'bedankt' te roepen lijkt mij. Jij initieert zelf een vraag ... dan is het vrij logisch dat als andere mensen jou een antwoord geven, dat je daar dan even op reageert. Je bent hier overigens al meer dan 5 jaar lid. Je hebt in die tijd niemand anders geholpen, maar alleen zelf 4 vragen gesteld, waarbij je eerste en laatste reactie telkens op één en dezelfde dag was. Je maakt mij dan ook niet wijs dat je nog van plan was om nog op dit topic te gaan reageren.
Als ik het te druk heb met mijn eigen werk (wat jij niet kunt weten), wil niet zeggen dat ik niet reageer of iemand niet bedank. Misschien heb je het in het verleden vaker meegemaakt, maar dat wil niet zeggen dat iedereen zo is.
Dat ik in al die 5 jaren niemand heb geholpen zegt helemaal niks. En dat je ergens maar vanuit gaat, is jouw probleem, dat wil niet zeggen dat het ook zo is.
Maar goed ik ga er verder niet op in.
Je hebt genoeg tijd om een lange vraag te stellen, maar niet om het woordje 'bedankt' te typen. Logisch verhaal.
>> Maar goed ik ga er verder niet op in.
Lijkt me een goede beslissing. Nogmaals succes met je project. En nu weer on topic ... ik neem aan dat je vraag is beantwoord. Zo niet dan horen we het wel.