---
title: "kontroll"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14776-kontroll"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "stevenet"
published: "2000-09-05T15:12:00.000Z"
updated: "2000-09-09T16:37:00.000Z"
replies: 7
views: 257
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/14776-kontroll"
---

# kontroll

## #1 — stevenet, 2000-09-05T15:12Z

Jag skulle vilja kontrollera $text, så att det endast innerhåller A-Za-z0-9.

I ett internt meddelandesystem jag håller på med, har jag ett mindre problem. När man svarar på ett meddelande, som tidigare besvarats, blir det "SV: SV: ämne". Hur gör jag för att $amne bara skall innehålla ett "SV:", detta för att slippa en oändlig lista med "SV:".

Jag vill även kunna skriva ut domändelen (webforum.nu) ur en epostadress, som vi kan kalla $epost.

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

## #2 — niels, 2000-09-05T15:45Z

Allt detta kan man göra med regualt expression. På [www.phpbuilder.com](http://www.phpbuilder.com)  finns en mycket bra column om dessa.

/Niels

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

## #3 — nicclas, 2000-09-05T15:46Z

Prova detta:

```
<?
$text="qwe23";
if(preg_match("/^([A-Za-z0-9]+)$/",$text))
  echo "ok\n";
else
  echo "fel\n";

$text="nicclas@spray.se";
if(!preg_match("/^SV:/",$text))
  $text="SV: ".$text;
echo "$text\n";

$text="SV: nicclas@spray.se";
if(!preg_match("/^SV:/",$text))
  $text="SV: ".$text;
echo "$text\n";

$text="nicclas@spray.se";
preg_match("/@[\w&#0124;\.]+/",$text,$out);
echo substr($out[0],1)."\n";
?>
```

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

\[Redigerat av nicclas den 05 sep 2000\]

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

## #4 — stevenet, 2000-09-05T17:59Z

Tack! nicclas, borde de inte utnämna dig till moderator snart?

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

## #5 — Robban, 2000-09-06T02:05Z

Några kommentarer (inte menade som kritik):

if(preg_match("/^(\[A-Za-z0-9\]+)$/",$text))

Blir något enklare (och troligen lite snabbare) om man vänder på problemet. Att i stället för att kolla så att alla är giltiga, leta efter exakt ett ogiltigt tecken (resultatet blir ju detsamma).

```
if (ereg('[^A-Za-z0-9]',$text))
  // Fel
else
  // Ok
```

preg_match("/@\[\\w&#0124;\\.\]+/",$text,$out);
echo substr($out\[0\],1)."\\n";

Här kan man ju även använda explode() om man vill.

```
list ($user, $domain) = explode('@', $text);
echo "$domain\n";
```

Går snabbare (enligt manualen) eftersom inga regexp används ö.h.t.

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

## #6 — nicclas, 2000-09-06T12:38Z

Jo, explode är ju smartare. Var så inställd på att träna mig på reg.exp:ar att jag inte såg de andra möjligheterna.  :)
Moderator = Städare ? Nej, tack.

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

\[Redigerat av nicclas den 06 sep 2000\]

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

## #7 — stevenet, 2000-09-09T13:57Z

"SV-funktionen" fungerar inte, den skriver ut samtliga SV:. Finns det något sätt att bara rensa ut alla SV: i en sträng vid namn $epost.
$epost = "SV: SV: SV: hej";

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

## #8 — nicclas, 2000-09-09T16:37Z

Jo, som jag hade tanke mig, sa skall du gora en funktion som bara lagger till SV: om det ar sa att SV: inte redan finns...

Vill du dessutom rensa bort alla SV: sa kanske du kan gora str_replace till "tomt" pa dessa forst...

/nicclas - <http://www.nic-sys.se>  (Jobbigt med aao i Italien :) )

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

---

Tråden på webben: https://www.webforum.nu/amne/php/14776-kontroll
