---
title: "Reguljära uttryck"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14537-reguljära-uttryck"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "woodi"
published: "2000-05-10T18:11:00.000Z"
updated: "2000-05-17T10:55:00.000Z"
replies: 15
views: 589
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/14537-reguljära-uttryck"
---

# Reguljära uttryck

## #1 — woodi, 2000-05-10T18:11Z

Finns det någon här som kan hjälpa mig med ett Reguljärt Uttryck som jag har bekymmer med..  Blir snart tokig om jag inte löser det..  

Bakgrund
Jag håller på och utvecklar ett mer avancerat forum där jag har "stängt av" \<html\>-kod och gör en egen "webForum-kod"..
Nu har jag problem med en av \[ url \] taggarna..  

\[url \]http://www.adressen.se\[/url \] har jag fått att fungera, men värre är det med 
[rubrik\[/url \]

Har försökt med detta men det fungerar inte.. Någon som kan se ett fel eller så!?
\<BLOCKQUOTE\>\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Perl-kod:\<pre\>
$adress = eregi_replace("(\\)\*)(\[a-zA-Z0-9\]))(\\\]\*)(\[a-zA-Z0-9\]?)(\\\[\\/URL\\\])","\<A HREF=\\"\\\\2\\\\3\\" TARGET=\_blank\>\\\\5\</A\>",$adress);

Permalänk: https://www.webforum.nu/p/14537

## #2 — nicclas, 2000-05-10T18:39Z

Nu har ju inte jag provat i Perls version av r.u. men i PHP tror jag att man jag göra så här <http://cgi.webforum.nu/wf/Forum12/HTML/000074.html> 

Fungerar det?

/nicclas @ <http://www.nic-sys.se>

Permalänk: https://www.webforum.nu/p/310857

## #3 — woodi, 2000-05-10T18:58Z

nicclas
Jo det fungerade med lite ändringar..  Tack!

Men jag tycker att det borde fungera med allt i samma uttryck..  Jag får kika på det senare..  Huvudsaken är att det fungerar nu! 

Tack än en gång!

Permalänk: https://www.webforum.nu/p/310858

## #4 — emission, 2000-05-10T19:15Z

```

$adress = eregi_replace("(\[URL=)((http://|https://|ftp://|mailto:)(([[:alnum:]]|[[:punct:]])*))\](([[:alnum:]]|[[:punct:]])*)\[/URL\]","<a href=\"\\2\">\\6</a>",$adress);
```

Permalänk: https://www.webforum.nu/p/310859

## #5 — Swey, 2000-05-10T19:22Z

Öh, hur lär man sig sånt?

/Swey

Permalänk: https://www.webforum.nu/p/310860

## #6 — woodi, 2000-05-10T19:39Z

Tack emission! Det var en smartare lösning på det hela.. 

Swey
Det är lite klurigt att få allt att fungera..  Men står man i så lär man sig! ;)

Permalänk: https://www.webforum.nu/p/310861

## #7 — sgtpepper, 2000-05-10T19:47Z

> Öh, hur lär man sig sånt?

Du kan läsa om Perl regexp här: <http://www.perl.com/CPAN-local/doc/manual/html/pod/perlre.html>

Permalänk: https://www.webforum.nu/p/310862

## #8 — Swey, 2000-05-10T19:48Z

Tack men jag pratade om PHP såklart.

Det är ju det som diskuteras här.

Permalänk: https://www.webforum.nu/p/310863

## #9 — PhOrPhEr, 2000-05-10T19:51Z

"Tack men jag pratade om PHP såklart."

Menar du hur man lär sig regexp i PHP eller hur man lär sig PHP i största allmänhet?

regexp ser likadant ut i perl som i PHP...

Permalänk: https://www.webforum.nu/p/310864

## #10 — sgtpepper, 2000-05-10T20:00Z

> Tack men jag pratade om PHP såklart

Såklart? 

Regexp'ar är inte bundna till ett specifikt språk. Det finns i många olika, bla Perl, PHP, Java (som 3-parts API) etc.

Permalänk: https://www.webforum.nu/p/310865

## #11 — nicclas, 2000-05-10T20:02Z

(Offtopic)

Hmmm, varför kommer alltid emission med de smartare lösningarna...

(Kanske är det därför han får kalla sig Forumledare?)

/nicclas @ <http://www.nic-sys.se>

Permalänk: https://www.webforum.nu/p/310866

## #12 — woodi, 2000-05-10T20:02Z

PhOrPhEr
Inte riktigt..  Det kan lätt bli förvirrande när man trycker in de reguljära uttrycken i eregi_replace..  Och då menar jag först och främst utskriften av de olika delarna från uttrycket!

Permalänk: https://www.webforum.nu/p/310867

## #13 — Swey, 2000-05-10T20:11Z

Aha, fungerar det i C++?

Annars kanske man kan sno källkoden från PHP.

Permalänk: https://www.webforum.nu/p/310868

## #14 — woodi, 2000-05-10T20:24Z

emission
Kom på ett "fel" i din (och min för all del) kod.  Innehåller rubriken till länken å, ä eller ö så blir det fel.. 

Den rätta koden blir alltså:

```
$adress = eregi_replace("(\[url=)((http://|https://|ftp://|mailto:)(([[:alnum:]]|[[:punct:]])*))\](([[:alnum:]]|[[:punct:]]|[ÅåÄäÖö])*)\[/url\]","<a href=\"\\2\">\\6</a>",$adress);
```

Permalänk: https://www.webforum.nu/p/310869

## #15 — emission, 2000-05-10T20:29Z

Det kan lätt bli förvirrande när man trycker in de reguljära uttrycken i eregi_replace

Ja, det finns en slags nördig sjuka som gör att man envist vill tvinga in allt i en enda regexp. Det blir självklart med överskådligt om man delar upp det hela, och ni som gjort så hittills får gärna fortsätta så.

Man tjänar inte nödvändigtvis något på att skapa en enda regexp. Flera enkla regexp:ar kan vara mer resurssnåla än en stor avancerad.

Den ovanstående regexp:en var dock tämligen enkel och linjär, så den passar utmärkt att köra i ett "race". Sedan blir det ju lite stökigt med alla \\\[),-. Ser lite ut om en serietidningssvordom. 

Kom på ett "fel" i din (och min för all del) kod. Innehåller rubriken till länken å, ä eller ö så blir det fel.. 

Så sant, så sant. Bra! ;)

Permalänk: https://www.webforum.nu/p/310870

## #16 — Swey, 2000-05-17T10:55Z

Nu tar jag upp den här tråden från graven.

Eftersom reguljära uttryck skiljer sig mellan PHP och Perl (har jag hört) så undrar jag om det finns någon manual för det speciellt för PHP?

På engelska naturligtvis.

Permalänk: https://www.webforum.nu/p/310871

---

Tråden på webben: https://www.webforum.nu/amne/php/14537-reguljära-uttryck
