PDA

View Full Version : مشکل:strpose



mhabat
پنج شنبه 24 مرداد 1392, 00:50 صبح
با سلام.

من می خوام از طریق تابع strpose شماره کارکتر مورد نظر رو بگیرم ولی نمیشه!

سورس رو ببینید:

<?php
$str="<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">";
$i=strpos($str,"HTML");
echo $i;

?>

tadayoni
پنج شنبه 24 مرداد 1392, 00:54 صبح
راهنمای کامل این دستور http://php.net/manual/en/function.strpos.php

abolfazl-z
پنج شنبه 24 مرداد 1392, 01:07 صبح
این کد را امتحان کنید :


$str="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"<a href=\"http://www.w3.org/TR/html4/strict.dtd\" target=\"_blank\">http://www.w3.org/TR/html4/strict.dtd</a>\">";
$i=strpos($str,"HTML");
echo $i;

abolfazl-z
پنج شنبه 24 مرداد 1392, 01:09 صبح
در حقیقت مشکل شما استفاده از دابل کوتیشن ها در یک دابل کوتیشن دیگر بود که با یک \ (بک اسلش) اون ها رو خنثی می کنیم.

mhabat
پنج شنبه 24 مرداد 1392, 01:11 صبح
ویرایش/پست های بدی رو ندیدم.

mhabat
پنج شنبه 24 مرداد 1392, 02:05 صبح
تشکر فراوان.

میشه بگید کد زیر چرا عمل نمی کنه؟...! دقیقا کار شما رو انجام میده!(البته به صورت دستی کاره شما رو انجام دادم درست شد)

<?php
$str="<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "<A
href="http://www.w3.org/TR/html4/strict.dtd"
target=_blank>http://www.w3.org/TR/html4/strict.dtd</A>">";
$b=str_replace("\"","\\"."\"",$str (file://\\"."\"",$str));
echo $b;


?>

mhabat
پنج شنبه 24 مرداد 1392, 15:55 عصر
نمی دونم چرا این کد نمایش داده نمیشه!
\ رو هم به کوتیشن ها اضافه کردم


<?php
$str="
<form method=\"get\" action=\"https://login.yahoo.com/config/login?\" autocomplete=\"\" name=
\"login_form\" id=\"login_form\" onsubmit=\"return hash2(this)\">
<input type=\"hidden\" name=\".tries\" value=\"1\">
<input type=\"hidden\" name=\".src\" value=\"\">
<input type=\"hidden\" name=\".md5\" value=\"\">
<input type=\"hidden\" name=\".hash\" value=\"\">
<input type=\"hidden\" name=\".js\" value=\"\">
<input type=\"hidden\" name=\".last\" value=\"\">
<input type=\"hidden\" name=\"promo\" value=\"\">
<input type=\"hidden\" name=\".intl\" value=\"us\">
<input type=\"hidden\" name=\".lang\" value=\"en\">
<input type=\"hidden\" name=\".bypass\" value=\"\">
<input type=\"hidden\" name=\".partner\" value=\"\">
<input type=\"hidden\" name=\".u\" value=\"0ibvj9590jnue\">
<input type=\"hidden\" name=\".v\" value=\"0\">
<input type=\"hidden\" name=\".challenge\" value=\"AQGttbhrQ4rAwEJnHmOWEJRBAGLx\">
<input type=\"hidden\" name=\".yplus\" value=\"\">
<input type=\"hidden\" name=\".emailCode\" value=\"\">
<input type=\"hidden\" name=\"pkg\" value=\"\">
<input type=\"hidden\" name=\"stepid\" value=\"\">
<input type=\"hidden\" name=\".ev\" value=\"\">
<input type=\"hidden\" name=\"hasMsgr\" value=\"0\">
<input type=\"hidden\" name=\".chkP\" value=\"Y\">
<input type=\"hidden\" name=\".done\" value=\"http://my.yahoo.com\">
<input type=\"hidden\" name=\".pd\" value=\"_ver=0&c=&ivt=&sg=\">
<input type=\"hidden\" name=\".ws\" id=\".ws\" value=\"0\">
<input type=\"hidden\" name=\".cp\" id=\".cp\" value=\"0\">
<input type=\"hidden\" name=\"nr\" value=\"0\">";

$strs=explode($str);
echo $strs[0];



?>

می خوام تک تک خط های یک فایل html رو در یک آرایه ذخیره کنم کد هم فکر نمی کنم مشکلی داشته باشه!

abolfazl-z
پنج شنبه 24 مرداد 1392, 23:18 عصر
چرا دوست عزیز مشکل داره!
درضمن این کار مناسب نیست .بهتر است درون یک فایل بریزید. سپس با تابع file_get_contents محتوا را دریافت کنید.
در ضمن استفاده از تابع explode اشتباه است و شما بهتره بصورت زیر عمل کنید :

ابتدا یک فایلی به نام mycode.txt ایجاد کنید و محتویات زیر را درون آن بریزید :

mycode.tx
t
<form method=\"get\" action=\"<a href="https://login.yahoo.com/config/login?" target="_blank">https://login.yahoo.com/config/login?</a>" autocomplete=\"\" name="login_form" id="login_form" onsubmit="return hash2(this)">
<input type="hidden" name=".tries" value="1">
<input type="hidden" name=".src" value="">
<input type="hidden" name=".md5" value="">
<input type="hidden" name=".hash" value="">
<input type="hidden" name=".js" value="">
<input type="hidden" name=".last" value="">
<input type="hidden" name="promo" value="">
<input type="hidden" name=".intl" value="us">
<input type="hidden" name=".lang" value="en">
<input type="hidden" name=".bypass" value="">
<input type="hidden" name=".partner" value="">
<input type="hidden" name=".u" value="0ibvj9590jnue">
<input type="hidden" name=".v" value="0">
<input type="hidden" name=".challenge" value="AQGttbhrQ4rAwEJnHmOWEJRBAGLx">
<input type="hidden" name=".yplus" value="">
<input type="hidden" name=".emailCode" value="">
<input type="hidden" name="pkg" value="">
<input type="hidden" name="stepid" value="">
<input type="hidden" name=".ev" value="">
<input type="hidden" name="hasMsgr" value="0">
<input type="hidden" name=".chkP" value="Y">
<input type="hidden" name=".done" value="<a href="http://my.yahoo.com" target="_blank">http://my.yahoo.com\</a>">
<input type="hidden" name=".pd" value="_ver=0&c=&ivt=&sg=">
<input type="hidden" name=".ws" id=".ws" value="0">
<input type="hidden" name=".cp" id=".cp" value="0">
<input type="hidden" name="nr" value="0">"
سپس با استفاده از کد زیر آن را فراخوانی کنید :

$a[] = file_get_contents('mycode.txt');
echo $a[0];