Tråden för användbara reguljära uttryck

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6, 7  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Walkman
Ex-Moderator



Medlem i: 4668 dagar
Från: Vaxholm (bor i Göteborg)
Status: Offline



#590516
Inlägg Skrivet: 2008-07-17 13:22      Ämne: Re: Tråden för användbara reguljära uttryck Citera

Peppe L-G skrev:
Jörgen HP skrev:
// eftersom funktionen is_numeric() är lite lömsk kan det vara bra att kunna kolla så ett innehåll är numeriskt
/^([0-9]+)$/

Någon som vet vad han menar med "lömsk"?

Strängen “0xFF” räknas som numerisk, t. ex.
 

_________________
Koda alltid som om nästa person som till slut ska läsa din kod är en våldsam psykopat och vet var du bor.

Förstå kod innan du använder den.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Peppe L-G



Medlem i: 4336 dagar
Från: Mullsjö
Status: Offline



#590518
Inlägg Skrivet: 2008-07-17 13:28      Ämne: Citera

Så om man t.ex. har denna koden:

PHP:
1:
<?php
2:
 
3:
if(!is_numeric($_GET['id'])){
4:
   $_GET['id'] = 1;
5:
}
6:
 
7:
$sql "SELECT nyhet FROM nyheter WHERE id = {$_GET['id']}";
8:
# OSV
9:
 
10:
?>


Så är det bättre att kolla $_GET['id'] med preg_match?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Walkman
Ex-Moderator



Medlem i: 4668 dagar
Från: Vaxholm (bor i Göteborg)
Status: Offline



#590538
Inlägg Skrivet: 2008-07-17 15:40      Ämne: Citera

Det beror på, naturligtvis. “0xFF” är fortfarande ett tal (255) och kommer att skrivas in i din databas som ett tal. Jag föredrar dock reguljära uttryck för de ger mycket mer kontroll över vad som skrivs in.
 

_________________
Koda alltid som om nästa person som till slut ska läsa din kod är en våldsam psykopat och vet var du bor.

Förstå kod innan du använder den.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Soccer-Story



Medlem i: 3952 dagar

Status: Offline



#597700
Inlägg Skrivet: 2008-08-27 09:41      Ämne: Citera

Verifiera steam id:
/^STEAM_[01]:[01]:\d{0,10}$/
 

_________________
muu
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
KarlKaluns



Medlem i: 4131 dagar
Från: Karlshamn
Status: Offline



#599027
Inlägg Skrivet: 2008-09-04 12:55      Ämne: Citera

Betyder inte det att tecknen i hakparantesen ska matchas minst en gång?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Bazze



Medlem i: 4859 dagar
Från: Karlskrona
Status: Offline



#622900
Inlägg Skrivet: 2009-02-04 21:23      Ämne: Citera

Bästa tutorialen om reguljära uttryck som jag har läst: http://www.phpfreaks.com/tutorial/regular-expressions-part1---basic-syntax/page1
 

_________________
"Speak softly and carry a big stick, you will go far."
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
village



Medlem i: 6028 dagar
Från: Täby
Status: Offline



#635379
Inlägg Skrivet: 2009-04-29 10:04      Ämne: Personnummer och Organisationsnummer Citera

Personnummer
/^[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-9]|3[0-2])\-[0-9]{4}$/

Organisationsnummer
/^[0-9]{2}(?:2[1-9]|3[1-9]|4[1-9]|5[1-9]|6[1-9]|7[1-9]|8[1-9]|9[1-9])(?:0[1-9]|1[0-9]|2[0-9]|3[0-2])\-[0-9]{4}$/

Går säkert att göra effektivare.
Kontrollera dock dessa innan du använder de skarpt.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
webkillen



Medlem i: 5113 dagar

Status: Offline



#640295
Inlägg Skrivet: 2009-05-29 12:42      Ämne: Citera

Eller så kan man skriva såhär för personnummer:

/(?:19|20)?\d{6}-?\d{4}/
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Wedge
Administratör



Medlem i: 5987 dagar
Från: Järfälla
Status: Offline



#640316
Inlägg Skrivet: 2009-05-29 13:32      Ämne: Citera

webkillen skrev:
Eller så kan man skriva såhär för personnummer:

/(?:19|20)?\d{6}-?\d{4}/
Funkar inte så lysande eftersom 19999999-9999 skulle godkännas.
 

_________________
I am Groot
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
hallis



Medlem i: 5756 dagar
Från: Stockholm
Status: Offline



#660860
Inlägg Skrivet: 2009-11-09 15:08      Ämne: Citera

Nu tror jag att jag kan släppa min kod för att skriva om en URL till länk.

PHP:
1:
 $protocols = array("http://""https://""ftp://");
2:
$protocols str_replace("/""\/"implode($protocols"|"));
3:
 
4:
$str preg_replace("/(?<=^|\(|\s)(www\.[A-Za-z0-9-_]+\.[A-Za-z\.]{2,6}(?:[\/\?].*)?)(?=[\.,!\?]*(?:\s|\(|\)|$))/U""http://$1"$str);
5:
$str preg_replace("/(?<=^|\(|\s)({$protocols})((?:[A-Za-z0-9-_]+\.)?[A-Za-z0-9_-]+\.[A-Za-z\.]{2,6}(?:[\/\?].*)?)(?=[\.,!\?]*(?:\s|\(|\)|$))/U""<a href=\"$1$2\">$2</a>"$str); 


Den skriver om:
www.exempel.se
www.exempel.se
http://sub.exempel.se
http://exempel.se

Fungerar med subdomän också...
www.exempel.se/exempel.html
www.exempel.se/exempe/
www.exempel.se?id=1
www.exempel.se/?id=1
www.exempel.se?id=1#23
www.exempel.se/exempel/#23

Men även mer ovanliga .. :

(http://exempel.se)
(Exempel: www.exempel.se)
www.exempel.se/exempel)
http://exemepl.se. - Punken kommer ej med
http://exemepl.se/. - Punken kommer ej med
www.exempel.se?id=id=123.43. - Sista punken kommer inte med
www.exmpel.se,
www.exmpel.se?
www.exmpel.se!

Jag tar gärna emot kritik.. jag har testat den ganska mycket men om någon hittar buggar/fel etc. så säg gärna till.

Senast ändrad av hallis den 2009-11-11 12:47, ändrad totalt 2 gånger
 

_________________
Utvecklingsbloggen
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ludvig_d



Medlem i: 3958 dagar

Status: Offline



#660880
Inlägg Skrivet: 2009-11-09 18:34      Ämne: Citera

Vanligtvis skriver man bara
"Gå in på phpportalen.net" eller liknande.
Kan du inte lägga in om det är "ord + . + vanlig huvuddomän"?
 

_________________
"Och som förklaring på det du skriver kan jag säga att om det fungerar fast det inte fungerar så fattas ett trasigt fel som inte syns fast nånting är trasigt, och på samma sätt men annorlunda. Men lika skillnad om du inte ändrat det som är annorlunda."
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
WizKid
Ex-Moderator



Medlem i: 6136 dagar
Från: Stockholm
Status: Offline



#660898
Inlägg Skrivet: 2009-11-09 21:05      Ämne: Citera

ludvig_d: Om du vill ha det så är det väl lättast att du lägger till det.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
hallis



Medlem i: 5756 dagar
Från: Stockholm
Status: Offline



#660943
Inlägg Skrivet: 2009-11-10 10:06      Ämne: Citera

ludvig_d skrev:
Vanligtvis skriver man bara
"Gå in på phpportalen.net" eller liknande.
Kan du inte lägga in om det är "ord + . + vanlig huvuddomän"?


Jag har ingen nytta av det, annars hade jag implementerat det.

Men om du vill ha det kan du alltid göra protokollen valfria samt specificera topdomänerna.
 

_________________
Utvecklingsbloggen
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6, 7  Nästa
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic