---
title: "RegExp: Innehåller strängen länkar?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/163034-regexp-innehåller-strängen-länkar"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Peeer"
published: "2007-07-30T17:04:34.000Z"
updated: "2007-07-30T19:09:42.000Z"
replies: 2
views: 427
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/163034-regexp-innehåller-strängen-länkar"
---

# RegExp: Innehåller strängen länkar?

## #1 — Peeer, 2007-07-30T17:04Z

Jag fattar inte hur svårt det här kan vara. Jag har en funktion som gör länkar av alla url:er i en sträng. Nu tänkte jag återanvända de mönstren som finns i funktionen för att göra en funktion som bara talar om om det finns länkar i strängen, dvs returnerar true/false

```php
<?php
function strLinks($text) {
	
	$text = preg_replace('%(<a\s[^>]+>http://[^\s]+</a>)|(<[^>]+http://[^>]+>)|(http://)[^\s]+%ie',
		'"$0"=="$1" || "$0"=="$2" ? "$0" : "<a href=\"$0\" >$0</a>"', $text);
	$text = preg_replace('%(<a\s[^>]+>http://|www.[^\s]+</a>)|(<[^>]+www.[^>]+>)|(www.)[^\s]+%ie',
                  '"$0"=="$1" || "$0"=="$2" ? "$0" : "<a href=\"http://$0\" >$0</a>"', $text);	
	return $text;
}
?>
```

Men hur sjutton gör jag det? Mönstren lyckas jag trycka in i preg_match(), men if-satserna som finns i funktionen ovan vet jag inte vad jag ska göra med. Hilfe bitte! :)

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

## #2 — stevenet, 2007-07-30T17:49Z

Hej igen! Skippade dina uttryck, matchar dock samma som i min förra post, så det bör inte orsaka några bekymmer. preg_match returnerar 1 vid "träff" och "0" om inget hittas.

```php
<?php 
function strLinks($text) {  
    return preg_match("/((?:http:\/\/(?:www\.)?|www\.))([\w??????!?.,-]+)/i", $text); 
} 

echo strLinks("http://www.google.se är en bra sida.");
echo "<br />";
echo strLinks("www.google.se är en bra sida.");
echo "<br />";
echo strLinks("Denna sträng saknar url, men innehåller www. och http://");
?>
```

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

## #3 — Peeer, 2007-07-30T19:09Z

Strålande!
Fixade till så det måste vara ett whitespace framför url:en samt petade in ett whitespace först i strängen. Nu fungerar det kanoners! Tack!

```
function strLinks($text) {  
    return preg_match("/(\s(?:http:\/\/(?:www\.)?|www\.))([\w??????!?.,-]+)/i", ' '. $text);
}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/163034-regexp-innehåller-strängen-länkar
