- substr_count: documentation ( source)
- var_dump: documentation ( source)
- strpos: documentation ( source)
- preg_match: documentation ( source)
<?php
$pattern = '[a-z\d+#.-]+'; // Borrowed from @Hamza.
$tags =<<<TAGS
gggd
hfhfghg;hfhdfh
fgjfgjgf;hfhdfh;hfhdfh
fgjgfj;hfhdfh;hfhdfh;hfhdfh
hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh
hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh
hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh
hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh;hfhdfh
TAGS;
$prevChar = ';';
$count = 0;
$len = strlen($tags);
$allowedChars = ';abcdefghijklmnopqrstuvwxyz0123456789#.-';
for ($i = 0; $i < $len; $i++) {
$current = $tags[$i];
if ($current === ';') {
$count++;
continue;
}
if ($current === $prevChar) {
$count = 0;
break;
}
if (strpos($allowedChars, $current) === false) {
$count = 0;
break;
}
$prevChar = $current;
}
var_dump($count);
if (preg_match('/'.$pattern.'/', $tags)) {
var_dump(substr_count($tags, ';'));
}