stringler. stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2”...

25
STRINGler

Upload: ashlyn-spurgeon

Post on 01-Apr-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

STRINGler

Page 2: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Stringler

$a = trim($name); //kırpma

$a = nl2br(“line1\nline2”); // “line1<br>line2” çevirir

printf(“total %d”, 15); // prints to stdout

Page 3: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

URL olarak string gönderme

$name = urlencode ($name);

$email = urlencode ($_POST['email']);

print "Click <a href=\"thanks.php?name=$name&email=$email\">here</a> to continue.";

Page 4: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Strings in PHP

A string is an array of character.

$a = strtoupper($name); // büyük harf

$a = strtolower($name); // küçük harf

$a = ucfirst($name); // İlk karakterbüyük

$text = "A very long woooooooooooord.";$newtext = wordwrap($text, 8, "\n", 1);

$a = crpyt($a); // şifreleme

$a = decrypt(encrpyt($a)); // 2-way encription with Mcrpt extension

Page 5: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Strings in PHP

Slash ekler- (veritabanına eklerken)

$a = AddSlashes($typedText);

Slashları kaldırır

$a = StripSlashes($typedText);

Page 6: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

String birleştirme ve ayırma

<?$pizza = "piece1 piece2 piece3 piece4

piece5";$pieces = explode (" ", $pizza); // split string

into piecesfor($i=0; $i<count($pieces); $i++)

echo "-> $pieces[$i]<br>";echo implode(“:", $pieces); // join

strings using “:“ ?>

Page 7: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Stringleri ayırma

$string = "This is an example string";

$tok = strtok ($string," ");

while ($tok) {

echo "Word=$tok<br>";

$tok = strtok (" ");

}

Page 8: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Strings in PHP

string substr (string string, int start [, int length]) int strlen (string str) int strcmp (string str1, string str2) Returns

– < 0 if str1 is less than str2; – > 0 if str1 is greater than str2,– 0 if they are equal.

Page 9: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expressions

A way of describing a pattern in string Use special characters to indicate meta-

meaning in addition to exact matching. More powerful than exact matching There are 2 sets of function on regular

expressions in PHP– Functions using POSIX-type reg expr– Functions using Perl-type reg expr

Page 10: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expressions

“.” tek bir karakterle eşleşir

.at == “cat”, “sat”, etc.

[a-zA-Z0-9] tek bir karakterle (a-zA-Z0-9) arasında eşleşir.

[^0-9] rakam olmayan birşeyle eşleşir.

Page 11: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expr: Built-in Char-sets

[[:alphanum:]] --harf [[:digit:]] rakamla [[:space:]] boşlukla

Page 12: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expr

. Tek karakter + 1 ya da daha fazla bulunan stringle * 0 ya da daha fazla bulunan stringle [a-z] karakter ^ değil anlamında $ string sonu | or \ özel karakterleri atlar (sub-expr) -- sub-expression (sub-expr){i,j} i min i, max j ile sub-expr olma durumu

Page 13: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Reg Expr Functions (Perl)

preg_match — Perform a reg expr match preg_match_all — Perform a global r.e. match preg_replace — Perform a re search & replace preg_split — Split string by a reg expr

Page 14: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

preg_match -- Perform a re match

int preg_match (string pattern, string subject [, array matches])

Searches subject for a match to the reg expr given in pattern.

Return one match for each subpattern () only $matches[0]: the text matching the full pattern $matches[1]: the text that matched the first

captured parenthesized subpattern, and so on. Returns true if a match for pattern was found

Page 15: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

preg_match -- Perform a re match

preg_match("/pattern/modifier", subject, array)

Modifiers: i: case insensitive search m: by default subject is treated single-line even if it

contains newlines, m makes PCRE treat subject multiline (for ^, $)

s: makes . metacharacter match \n x: whitespace in pattern is ignored E: $ matches only at the end of subject U: behave ungreedy (comert)

Page 16: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

preg_match -- Perform a re match

$s = <<<STR<table><tr><td>cell1</td><td>cell2</td></tr><tr><td>cell3</td><td>cell4</td></tr></table>STR;preg_match("/<table>(.*)<\/table>/Us", $s, $r)// anything between <table> and </table>preg_match("/<tr><td>(.*)<\/td><td>(.*)<\/td><\/tr>/Us",

$r[1], $t)// matches cell1 and cell2preg_match("/<tr>(.*)<\/tr>/Us", $r[1], $t);// matches <td>cell1</td><td>cell2</td>

Page 17: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

preg_match_all: Perform global match

int preg_match_all (string pattern, string subject, array matches [, int order])

Searches subject for all matches and puts them in matches in the order specified by order.

After the first match, the subsequent ones are continued on from end of the last match.

$matches[0] is an array of full pattern matches $matches[1] is an array of strings matched by

the first parenthesized subpattern, and so on.

Page 18: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

preg_match_all: Perform global match

preg_match("/<table>(.*)<\/table>/Us", $s, $r);preg_match_all("/<tr><td>(.*)<\/td><td>(.*)<\/td><\/tr>/Us",

$r[1], $t);echo $t[1][0],$t[1][1],$t[2][0],$t[2][1];// prints cell1cell3cell2cell4preg_match_all("/<tr><td>(.*)<\/td><td>(.*)<\/td><\/tr>/Us",

$r[1], $t, PREG_SET_ORDER );//Orders results so that $matches[0] is an array of first set

of matches, $matches[1] is an array of second set of matches,…

echo $t[0][1],$t[0][2],$t[1][1],$t[1][2];// returns cell1cell2cell3cell4

Page 19: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

preg_match_all: Perform global match

Back reference

preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches);

// \\2 means [\w]+

preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", $html, $m) // return text in html tags

Page 20: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Convert HTML to Text

$html = file(“http://www.page.com”);

$search = array ("'<script[^>]*?>.*?</script>'si", "'<[\/\!]*?[^<>]*?>'si",

"'([\r\n])[\s]+'",

"'&(quote|#34);'i",

"'&(amp|#38);'i", …);

$replace = array ("", "", "\\1", "\"", "&", …);

$text = preg_replace ($search, $replace, $html);

Page 21: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Reg Expr Functions (POSIX)

ereg (string pattern, string string [, array regs])– Searches a string for matches to the regular

expression given in pattern.

ereg_replace (string pattern, string subs, string string)– Scans string for matches to pattern, then replaces

the matched text with subs.

array split (string pattern, string string [, int limit])– Split string using pattern

Page 22: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expr

ereg ("abc", $string); ereg ("^abc", $string); ereg ("abc$", $string);eregi ("(ozilla.[23]|MSIE.3)",

$HTTP_USER_AGENT); ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)",

$string,$regs);$string = ereg_replace ("^", "<BR>", $string);$string = ereg_replace ("$", "<BR>", $string);$string = ereg_replace ("\n", "", $string);

Page 23: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expr

if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {

echo "$regs[3].$regs[2].$regs[1]";

}else{

echo "Invalid date format: $date";

}

Page 24: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expr

$string = "This is a test";

echo ereg_replace (" is", " was", $string);

echo ereg_replace ("( )is", "\\1was", $string);

echo ereg_replace ("(( )is)", "\\2was", $string);

Page 25: STRINGler. Stringler $a = trim($name);//kırpma $a = nl2br(“line1\nline2”); // “line1 line2” çevirir printf(“total %d”, 15);// prints to stdout

Regular Expr

$date = "04/30/1973";

// Delimiters may be slash, dot, or hyphen list

($month, $day, $year) = split ('[/.-]', $date);

echo "Month: $month; Day: $day; Year: $year";