Search

Rss Posts

Rss Comments

Login

 

Posts in ‘Internet’

Regular expressions for treatment of lines of Utf-8 in PHP

Jun 07

At development of multilingual sites for html-pages most more comfortable and predpochtitel’ney to use the code of Utf-8, providing support all or almost all existent languages and encoding ascii-characters (Roman alphabet, numbers and special characters) by one byte, and national alphabets — a few. Thus, the code of Utf-8 has variable physical length of every character. In this connection sometimes there are problems at programming of multilanguage sites.

For example, in a programming of PHP of function of strlen and substr language give out improper results, if there are characters of national alphabet in a line (as intended for work with an onebyte code). Certainly, in PHP there are such functions as mb_strlen and mb_susbtr, specially intended for work with multibyte lines. But, by default support of Multibyte String Functions in PHP is turned off,that automatically limits the choice of khostinga for the designed site. In addition, during connecting of the module of mb_string the set of the supported languages is specified. And that is why there is probability, that the language required you can not appear in the list of supported.

However, there is other, more comfortable and flexible decision of problem. Taking advantage of functions of PCRE, correctly perceiving the code of Utf-8, it is possible to write the functions of utf8_strlen and utf8_substr:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function utf8_strlen($s)
{
return preg_match_all('/./u', $s, $tmp);
}
</code>
<code>
function utf8_substr($s, $offset, $len = 'all')
{
if ($offset&lt;0) $offset = utf8_strlen($s) + $offset;
if ($len!='all')
{
if ($len&lt;0) $len = utf8_strlen($s) - $offset + $len;
$xlen = utf8_strlen($s) - $offset;
$len = ($len&gt;$xlen) ? $xlen : $len;
preg_match('/^.{' . $offset . '}(.{0,'.$len.'})/us', $s, $tmp);
}
else
{
preg_match('/^.{' . $offset . '}(.*)/us', $s, $tmp);
}
return (isset($tmp[1])) ? $tmp[1] : false;
}

Continuing the theme of work with lines in the code of Utf-8, will consider a few functions, workings without set in PHP of expansion of Multibyte String Functions, namely utf8_strpos and utf8_substr_count:

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
function utf8_strpos($haystack, $needle, $offset = 0)
{
    # get substring (if isset offset param)
    $offset = ($offset<0) ? 0 : $offset;
    if ($offset>0)
    {
        preg_match('/^.{' . $offset . '}(.*)/us', $haystack, $dummy);
        $haystack = (isset($dummy[1])) ? $dummy[1] : '';
    }
 
    # get relative pos
    $p = strpos($haystack, $needle);
    if ($haystack=='' or $p===false) return false;
    $r = $offset;
    $i = 0;
 
    # calc real pos
    while($i<$p)
    {
        if (ord($haystack[$i])<128) 
        {
            # ascii symbol
            $i = $i + 1; 
        }
        else 
        {
            # non-ascii symbol with variable length 
            # (handling first byte)
            $bvalue = decbin(ord($haystack[$i]));        
            $i = $i + strlen(preg_replace('/^(1+)(.+)$/', '\1', $bvalue));
        }
        $r++;
    }
    return $r;
}
 
function utf8_substr_count($h, $n)
{
    # preparing $n for using in reg. ex.
    $n = preg_quote($n, '/');
 
    # select all matches
    preg_match_all('/' . $n . '/u', $h, $dummy);
    return count($dummy[0]);
}

What is the main Ranking Factors for Search Engines?

Feb 11

There are many Ranking Factors for SEO, but Search Engines owners do not liked to people know about them.

This table is explain what is the distribution of Ranking Factors
Mini SEO Textbook

Keywords  
Keywords in <title> +3
Keywords in URL +3
Density of a keyword in the text of the document +3
Keywords in references(links) of pages +3
Keywords in headings (<H1>, <H2>, etc. tags) +3
Keywords in the beginning of the document +2
Keywords in <alt> tag +2
Keywords in meta tags +1
Optimization under low-frequency inquiries +1
Synonyms +1
Keywords with a typing error 0
Dissolution of a keyword in the text -2
The greater(big) density of keywords on page -3
outer and inner links  
Keywords in references(links) +3
References(Links) to your site from popular pages +3
References(Links) from pages of similar subjects +3
References(Links) from domains of the second level in a zone .ru (if at you Russian site) +3
It is a lot of references(links) to your site +3
The text around of the reference(link) +2
Age of references(links) of referring sites (the is more senior that, the better) +2
References(Links) from popular catalogues +2
The it is less on a referring page of external references(links) the better +1
Tag <title = “> with a keyword in the reference(link) +1
References(Links) with bad link category sites and from doubtful sites 0
Spam of references(links) in the comment -1
The latent references(links) -3
Meta tags  
<Description> metatag +1
<Keywords> metatag +1
<Language> metatag +1
<Refresh> metatag -1
The maintenance(contents)  
The unique maintenance(contents) +3
Frequent changes (updating of pages, addition new) +3
Formatting of keywords tags (<strong> <i>) +2
Bad design and dirty html a code -2
Plagiarism -3
The invisible text -3
Doorways -3
Duplicates of pages -3
Structure of pages and its(her) maintenance(contents)  
JavaScript (do not go too far and clean(remove) in files) 0
Images in the text 0
Podcast and video 0
Navigation from pictures -1
Frames (Frames) -2
Flash -2
Domains, URL  
Keywords in URL +3
Availability of a site (a good hosting, fast loading of page) +3
Sitemap +2
It is a lot of pages +2
The the site, the is more senior better +2
One subjects of a site (it is not necessary to do auto a site and in the same place to write about brooms) +2
The domain of the second level (site.us) +1
Dear zones (.us it is better than .info or .org) +1
Hyphens in URL (instead of blanks between keywords) +1
Length URL 0
IP the address 0
Google Adsense on pages 0
Inaccessibility of a site, bad hosting -1
Dynamic URL -1
Sessions (Session ID) -2
Redirects (301 and 302) -3

How Can I change table cellPadding from JavaScript?

Jan 22

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type=”text/javascript”>
function padding(){
document.getElementById(’myTable’).cellPadding=”20″
}
</script>
 
<table id=”myTable” border=”1″>
<tr>
<td>first</td>
<td>second</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>
<form>
<input type=”button” onclick=”padding()” value=”Change Cellpadding to 20″>

How to test JavaScript in CSS?

Jan 20

When Explorer and Opera parsing the CSS file, encounter the JavaScript and execute it. Browsers execute it only once, though, so if you’d repeat the background-image: etc for another class or id, you still see one alert only.

So Lets Try this:

1
2
3
4
#Example {
border: 1px solid #000000;
padding: 10px;
background-image: url('javascript:alert(\'It works\');')

or

1
background-image: url('javascript:alert('It works');')

How do I place text to div?

Jan 16

JavaScript allowing to do this by this easy steps:

1
2
3
4
5
<script type=”text/javascript”>
document.getElementById("z").innerHTML = "bla bnla";
</script> 
 
<diz id=”z”> Text goes here</div>
 
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
27 queries. 1.287 seconds.