Thursday, July 29th 2010, 1:32pm UTC+2
You are not logged in.
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[URL][/URL] [URL=][/URL] [B][/B] [I][/I] [U][/U] [S][/S] [IMG][/IMG] [PRE][/PRE] [LEFT][/LEFT] [RIGHT][/RIGHT] [align=center][/align] [EMAIL][/EMAIL] [EMAIL=][/EMAIL] |
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
Class REGEXP {
var $input; // String
function REGEXP($input) {
if(is_string($input)) {
$this->PREG_STRING = $input;
} elseif (is_array($input)) {
$this->PREG_ARRAY = $input;
}
$this->TAG_REGS = array("°\[URL\]http(.+?)\[\/URL\]°is",
"°\[URL=http(.+?)\](.+?)\[\/URL\]°is",
"°\[B\](.+?)\[\/B\]°is",
"°\[I\](.+?)\[\/I\]°is",
"°\[U\](.+?)\[\/U\]°is",
"°\[S\](.+?)\[\/S\]°is",
"°\[IMG\](.+?)\[\/IMG\]°i",
"°\[PRE\](.+?)\[\/PRE\]°is",
"°\[LEFT\](.+?)\[\/LEFT\]°is",
"°\[RIGHT\](.+?)\[\/RIGHT\]°is",
"°\[CENTER\](.+?)\[\/CENTER\]°is",
"°\[EMAIL\](.+?)\[\/EMAIL\]°is",
"°\[EMAIL=(.+?)\](.+?)\[\/EMAIL\]°is",
"°\[HR\]°i");
$this->TAG_REPL = array('<a href="\\1" target="_blank">\1</a>',
'<a href="\\1" target="_blank">\2</a>',
'<strong>\\1</strong>',
'<i>\\1</i>',
'<u>\\1</u>',
'<s>\\1</s>',
'<img src="\\1" alt="" border="0" />',
'<pre>\\1</pre>',
'<div align="left">\\1</div>',
'<div align="right">\\1</div>',
'<div align="center">\\1</div>',
'<a href="\\1" target="_blank">\\1</a>',
'<a href="\\1" target="_blank">\\2</a>',
'<a href="mailto:\\1">\\1</a>',
'<a href="mailto:\\1">\\2</a>',
'<hr />');
}
function getArray() {
foreach ($this->PREG_ARRAY AS $String) {
$Array[] .= preg_replace($this->TAG_REGS, $this->TAG_REPL, $String);
}
return $Array;
}
function getString() {
$String = preg_replace($this->TAG_REGS, $this->TAG_REPL, $this->PREG_STRING);
return $String;
}
} //#ENDE
|
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 |
include_once("./regexp.class.php");
//
$regtest = file("test.txt");
$regexp = new REGEXP($regtest);
$ausgabe = $regexp->getArray();
foreach ($ausgabe AS $Zeilen) {
echo $Zeilen . "<br>";
}
|

Muss etwas Stückeln wegen Forum Parser 
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Class REGEXP {
/*
$foo = new REGEXP($input, $typ);
*/
var $input;
/*
Array or String
$string = $foo->getRegexp();
$array = $foo->getRegexp();
*/
var $typ; // Integer
/*
1 = Replace this TAGS
[URL][/URL] [URL=][/URL] [B][/B] [I][/I] [U][/U] [S][/S] [IMG][/IMG] [PRE][/PRE]
[LEFT][/LEFT] [RIGHT][/RIGHT] [align=center][/align] [EMAIL][/EMAIL] [EMAIL=][/EMAIL] [HR]
2 = Replace Normal URL Strings and E-Mails
*/
var $delimi;
/*
Delimiter
*/
private $Modifier = "is";
/*
Modifier
*/
function __construct($input, $typ, $delimi) {
$this->PREG_INPUT = $input; // String or Array
$this->MODIF = $Modifier;
$this->DELIM = ($delimi ? $delimi : "°"); // Delemiter
$this->CONVERTART = ($typ ? $typ : 1); // 1= Tags 2= URL Convert
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$this->URL_REGS = "" . $this->DELIM . "(?:[^.+])(http://|ftp://|mailto:|news:)([\w\-\._\?\,\'/\\\+\@&%\$#\=~%20]+|[^\s\[\]üäößÜÄÖ]+])(?:[^.+])" . $this->DELIM . "ism";
$this->URL_MATC = " <a href=\"\\1\\2\">\\2</a> ";
$this->TAG_REGS = array("" . $this->DELIM . "\[URL=(http://|ftp://|mailto:|news:)([\w\-\._\?\,\'/\\\+&%\$#\=~%20]+|[^\s\[\]üäößÜÄÖ]+])\](.+?)\[\/URL\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[URL=(www\.[\w-&?=\/_.%20]+|[^\s\[\]üäößÜÄÖ]+])\](.+?)\[\/URL\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[URL\](http://.+?|[^\s\[\]üäößÜÄÖ]+])\[\/URL\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[URL\](www\..+?|[^\s\[\]üäößÜÄÖ]+])\[\/URL\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[B\](.+?)\[\/B\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[I\](.+?)\[\/I\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[U\](.+?)\[\/U\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[S\](.+?)\[\/S\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[IMG\](.+?)(\.jpg|\.png|\.gif|\.tiff)\[\/IMG\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[PRE\](.+?)\[\/PRE\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[LEFT\](.+?)\[\/LEFT\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[RIGHT\](.+?)\[\/RIGHT\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[CENTER\](.+?)\[\/CENTER\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[EMAIL\](.+?)\[\/EMAIL\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[EMAIL=(.+?)\](.+?)\[\/EMAIL\]" . $this->DELIM . $this->MODIF . "",
"" . $this->DELIM . "\[HR\]" . $this->DELIM . $this->MODIF . "");
|
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
$this->TAG_REPL = array('<a href="\\1\\2" target="_blank">\\3</a>',
'<a href="http://\\1" target="_blank">\\2</a>',
'<a href="\\1" target="_blank">\\1</a>',
'<a href="http://\\1" target="_blank">\\1</a>',
'<strong>\\1</strong>',
'<i>\\1</i>',
'<u>\\1</u>',
'<s>\\1</s>',
'<img src="\\1\\2" alt="" border="0" />',
'<pre>\\1</pre>',
'<div align="left">\\1\\2</div>',
'<div align="right">\\1</div>',
'<div align="center">\\1</div>',
'<a href="\\1" target="_blank">\\1</a>',
'<a href="\\1" target="_blank">\\2</a>',
'<a href="mailto:\\1">\\1</a>',
'<a href="mailto:\\1">\\2</a>',
'<hr />');
}
/************************************************************************************************************************************/
protected function __setArrayTAGS() {
foreach ($this->PREG_INPUT AS $String) {
$Array[] .= preg_replace($this->TAG_REGS, $this->TAG_REPL, $String);
}
return $Array;
}
protected function __setStringTAGS() {
$String = preg_replace($this->TAG_REGS, $this->TAG_REPL, $this->PREG_INPUT);
return $String;
}
protected function __setArrayURL() {
foreach ($this->PREG_INPUT AS $String) {
$Array[] .= preg_replace($this->URL_REGS, $this->URL_MATC, $String);
}
return $Array;
}
protected function __setStringURL() {
$String = preg_replace($this->URL_REGS, $this->URL_MATC, $this->PREG_INPUT);
return $String;
}
public function getRegexp() {
if(is_string($this->PREG_INPUT) && $this->CONVERTART == 1) {
$output = $this->__setStringTAGS($this->PREG_INPUT);
} elseif (is_array($this->PREG_INPUT) && $this->CONVERTART == 1) {
$output = $this->__setArrayTAGS($this->PREG_INPUT);
} elseif (is_string($this->PREG_INPUT) && $this->CONVERTART == 2) {
$output = $this->__setStringURL($this->PREG_INPUT);
} elseif (is_array($this->PREG_INPUT) && $this->CONVERTART == 2) {
$output = $this->__setArrayURL($this->PREG_INPUT);
} else {
return "<font color='#FF0000'>No Input =>" . __CLASS__ . "-" . __LINE__ . "-" . __FUNCTION__ . "</font>";
exit;
}
return $output;
}
} //#END CLASS
|
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$regtest = file("test.txt");
// 1 = TAGDEFS || 2 = Nur URL's Matchen
$regexp = new REGEXP($regtest, 2, "°");
$ausgabe = $regexp->getRegexp();
if(is_array($ausgabe)) {
foreach ($ausgabe AS $Zeilen) {
echo $Zeilen . "<br>";
}
} else {
echo "<pre>";
print_r($ausgabe);
echo "</pre>";
}
|
|
|
PHP Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?
class REGEXP {
var $input; // String
function REGEXP($input) {
if(is_string($input)) {
$this->PREG_STRING = $input;
} elseif (is_array($input)) {
$this->PREG_ARRAY = $input;
}
$this->TAG_REGS = array( "°www(.+?).de°is","°@(.+?).de°is","°h ttp://°is","°@°is","°mailto:°is","°e-mail:°is");
$this->TAG_REPL = array('','','','','','');}
function getArray() {
foreach ($this->PREG_ARRAY AS $String) {
$Array[] .= preg_replace($this->TAG_REGS, $this->TAG_REPL, $String);}
return $Array;}
function getString() {
$String = preg_replace($this->TAG_REGS, $this->TAG_REPL, $this->PREG_STRING);
return $String;
}
} //#ENDE
$regtest = file("url.txt");
$regexp = new REGEXP($regtest);
$ausgabe = $regexp->getArray();
foreach ($ausgabe AS $Zeilen) {
echo $Zeilen . "<br>";
}
?>
|

|
|
Source code |
1 2 |
// Hilfe
sven.onEnterForum = function() {if (flash=problem{this.write;} else {this.exit;}updateAfterEvent();};
|
) This post has been edited 3 times, last edit by "sven" (Jul 1st 2004, 9:21pm)

|
|
Source code |
1 |
$regexp = "(?:[URL]http://[/URL](?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)(?:/(?:(?:(?:[\w$.+\-!*'(),;:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?:/(?:(?:[\w$.+\-!*'(),;:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))*)(?:\?(?:(?:[\w$.+\-!*'(),;:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))?)?)|(?:[URL]ftp://[/URL](?:(?:(?:(?:[\w$.+\-!*'(),;?&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?::(?:(?:[\w$.+\-!*'(),;?&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))?@)?(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?))(?:/(?:(?:(?:[\w$.+\-!*'(),?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?:/(?:(?:[\w$.+\-!*'(),?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))*)(?:;type=[AIDaid])?)?)|(?:news:(?:(?:[\w$.+\-!*'(),;/?:&=]+@(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+)))|(?:[A-Za-z][\w.+-]*)|\*))|(?:nntp://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)/(?:[A-Za-z][\w.+-]*)(?:/\d+)?)|(?:telnet://(?:(?:(?:(?:[\w$.+\-!*'(),;?&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?::(?:(?:[\w$.+\-!*'(),;?&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))?@)?(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?))/?)|(?:gopher://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)(?:/(?:(?:[\w$.+\-!*'(),;/?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f])))(?:(?:(?:[\w$.+\-!*'(),;/?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?:%09(?:(?:[\w$.+\-!*'(),;:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?:%09(?:(?:[\w$.+\-!*'(),;/?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))?)?)?)?)|(?:(?:wais://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)/(?:(?:[\w$.+\-!*'(),]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))|(?:wais://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)/(?:(?:[\w$.+\-!*'(),]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)\?(?:(?:[\w$.+\-!*'(),;:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))|(?:wais://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)/(?:(?:[\w$.+\-!*'(),]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)/(?:(?:[\w$.+\-!*'(),]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)/(?:(?:[\w$.+\-!*'(),]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)))|(?:mailto:(?:(?:[\w$.+\-!*'(),;/?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))+))|(?:file://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))|localhost)?/(?:(?:(?:[\w$.+\-!*'(),?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*)(?:/(?:(?:[\w$.+\-!*'(),?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))*))*))|(?:prospero://(?:(?:(?:(?:(?:(?:[A-Za-z\d][A-Za-z\d-]*[a-zA-Z\d])|[A-Za-z\d])\.)*(?:(?:[A-Za-z][A-Za-z\d-]*[A-Za-z\d-])|[A-Za-z]))|(?:\d+\.\d+\.\d+\.\d+))(?::\d+)?)/(?:(?:[\w$.+\-!*'(),?:@&=]*)(?:/(?:[\w$.+\-!*'(),?:@&=]*))*)(?:(?:;(?:[\w$.+\-!*'(),?:@&]*)=(?:[\w$.+\-!*'(),?:@&]*)))*)i"; |
|
|
PHP Source code |
1 |
echo preg_replace($regexp, "\\1", $string);
|
|
|
PHP Source code |
1 2 3 4 5 |
$string="Text Text text text text 06543-123456 [URL]http://www.domain.de[/URL] e-mail: [EMAIL]mail@mail.de[/EMAIL]";
$regexp = "(?:[URL]http:..........Deien ganzen Zeilen/Zeichen...............?:@&]*)))*)i";
echo preg_replace($regexp, "\\1", $string);
|
|
|
Source code |
1 |
Warning: Unknown modifier '|' in /is/htdocs/xxxxxx/www.xxxxxxx.de/ersetzen.php on line 5 |

|
|
Source code |
1 2 |
// Hilfe
sven.onEnterForum = function() {if (flash=problem{this.write;} else {this.exit;}updateAfterEvent();};
|
) This post has been edited 1 times, last edit by "sven" (Jul 2nd 2004, 8:52am)

|
|
Source code |
1 |
usermail@domain.de |
|
|
Source code |
1 |
"(?:mailto:(?:(?:[\w$.+\-!*'(),;\\/?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))+))" |
|
|
Source code |
1 |
(?:@(?:(?:[\w$.+\-!*'(),;\\/?:@&=]|(?:%[\dA-Fa-f][\dA-Fa-f]))+)) |


|
|
Source code |
1 2 |
// Hilfe
sven.onEnterForum = function() {if (flash=problem{this.write;} else {this.exit;}updateAfterEvent();};
|
) This post has been edited 1 times, last edit by "sven" (Jul 2nd 2004, 10:02am)
Also wenn du Regex wirklich verstehen möchtest so kann ich dir nur das Buch Reguläre Ausdrücke von Jeffrey E.F. Friedl an Herz legen. Im Internet wirst du kaum zufriedenstellende Dockumentationen hierzu finden weil es einfach zu Komplex ist. Wenn du ein Linux System hast dann gebe im Kounqueror für folgende Manual Pages ein:



|
|
Source code |
1 2 |
// Hilfe
sven.onEnterForum = function() {if (flash=problem{this.write;} else {this.exit;}updateAfterEvent();};
|
)