apog
Members-
Posts
10 -
Joined
-
Last visited
Never
Profile Information
-
Gender
Not Telling
apog's Achievements
Newbie (1/5)
0
Reputation
-
Well, I solved it. $post = explode('</p>', $blog['entry_html']); $p_count = count($post); $p_count = ($p_count / 2) + 1; $i = 0; foreach ($post as $k) { if ($i == $p_count) { echo 'Adsense_code'; } echo $k . '</p>'; $i++; } But there should be a better way to do this, since I am taking the </p> as the reference to cut the HTML post, where I should be cutting the post right in the middle without breaking the HTML structure... but well...
-
Thank you Gluck, that is exactly what I need to do. BUT HOW? How can I split the post in the middle but right after the "center" </p>?
-
Thank you, but that can't help me. Each post has many <p></p> and I need the one of the middle in order to separate the post in 2 parts and ad the adsense code right in the middle of the post without breaking the HTML structure. Cheers!
-
Hello everyone! Recently I wrote a PHP blog for my site without using any blog software, so my blog posts are in HTML format. Now I want to add some Adsense announcements right in the the middle of each post, so I figured, what about breaking the text in 2 parts counting any html delimiter like the </p> I use to right the posts, then add the Adsense code and right after that start the second part of the post. So I wrote this: $p_count = substr_count($blog['entry_html'], '</p>'); $p_count_2 = $p_count / 2; $p_count_2--; But now I don't what to do to split the $blog['entry_html'] in two parts right after $p_count_2 times that </p> appears... Anyone have some idea how to do this? or any other idea about how to adding the Adsense code to the post without breaking the HTML structure? Thank you all!
-
Thank you for your reply. Can you please give me the entire code?? I didn't understand... Thank you again!
-
Anyone??? PLEASE!!!
-
Hello, I need some help here... PLEASE! I have a php code to split the results of a sql query over pages taht works great... But I need to add some feature, I need to add that if there are more than * pages it shows me "..." instead of the hole numbers of pages... Here is the code to split the pages: $recordCount = "select count(*) " . $sql; $totalRowsResult = mysql_query($recordCount); $totalRows = mysql_fetch_row($totalRowsResult); if($totalRows[0] > $limit){ echo("<div class=\"beginpag\"></div>"); if($page != 1){ $pageprev = $page -1; echo("<a href=\"".$_SERVER['REQUEST_URI']."&page=$pageprev\">« Previous </a> - "); }else { echo("« Previous - "); } $numofpages = $totalRows[0] / $limit; for($i = 1; $i <= $numofpages; $i++){ if($i == $page){ echo(" " . $i . " - "); }else{ echo(" <a href=\"" . $_SERVER['REQUEST_URI'] . "&page=$i\">$i</a> - "); } } if(($totalRows[0] % $limit) != 0) { if($i == $page) { echo(" " . $i . " "); } else { echo("<a href=\"" . $_SERVER['REQUEST_URI'] . "&page=$i\">$i</a> - "); } } if(($totalRows[0] - ($limit * $page)) > 0){ $pagenext = $page +1; echo("<a href=\"" . $_SERVER['REQUEST_URI'] . "&page=$pagenext\">Next »</a>"); }else{ echo("Next »"); } } This shows the pagination like this: Previous - 1 - 2 - 3 -4 - 5 - 6 - Next But there are some queries that return like 50 pages, so I want it to show (if page 1 is selected): Previous -1 -2-3-4-5-6-7-8-9...49-50-Next (or if page selected is 30) Previous-1-2...28-29-30-31-32-33...49-50-Next. Any idea please???? Thank you all!
-
Hello, I got an ajax code from Internet, but I don't know how to change something... This code loads the options of a select from a php... Its working great, buy I want it to show an option "Please wait..." while the options are loaded... The ajax.js: function sack(file) { this.xmlhttp = null; this.resetData = function() { this.method = "POST"; this.queryStringSeparator = "?"; this.argumentSeparator = "&"; this.URLString = ""; this.encodeURIString = true; this.execute = false; this.element = null; this.elementObj = null; this.requestFile = file; this.vars = new Object(); this.responseStatus = new Array(2); }; this.resetFunctions = function() { this.onLoading = function() { }; this.onLoaded = function() { }; this.onInteractive = function() { }; this.onCompletion = function() { }; this.onError = function() { }; this.onFail = function() { }; }; this.reset = function() { this.resetFunctions(); this.resetData(); }; this.createAJAX = function() { try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { this.xmlhttp = null; } } if (! this.xmlhttp) { if (typeof XMLHttpRequest != "undefined") { this.xmlhttp = new XMLHttpRequest(); } else { this.failed = true; } } }; this.setVar = function(name, value){ this.vars[name] = Array(value, false); }; this.encVar = function(name, value, returnvars) { if (true == returnvars) { return Array(encodeURIComponent(name), encodeURIComponent(value)); } else { this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true); } } this.processURLString = function(string, encode) { encoded = encodeURIComponent(this.argumentSeparator); regexp = new RegExp(this.argumentSeparator + "|" + encoded); varArray = string.split(regexp); for (i = 0; i < varArray.length; i++){ urlVars = varArray[i].split("="); if (true == encode){ this.encVar(urlVars[0], urlVars[1]); } else { this.setVar(urlVars[0], urlVars[1]); } } } this.createURLString = function(urlstring) { if (this.encodeURIString && this.URLString.length) { this.processURLString(this.URLString, true); } if (urlstring) { if (this.URLString.length) { this.URLString += this.argumentSeparator + urlstring; } else { this.URLString = urlstring; } } // prevents caching of URLString this.setVar("rndval", new Date().getTime()); urlstringtemp = new Array(); for (key in this.vars) { if (false == this.vars[key][1] && true == this.encodeURIString) { encoded = this.encVar(key, this.vars[key][0], true); delete this.vars[key]; this.vars[encoded[0]] = Array(encoded[1], true); key = encoded[0]; } urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0]; } if (urlstring){ this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator); } else { this.URLString += urlstringtemp.join(this.argumentSeparator); } } this.runResponse = function() { eval(this.response); } this.runAJAX = function(urlstring) { if (this.failed) { this.onFail(); } else { this.createURLString(urlstring); if (this.element) { this.elementObj = document.getElementById(this.element); } if (this.xmlhttp) { var self = this; if (this.method == "GET") { totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString; this.xmlhttp.open(this.method, totalurlstring, true); } else { this.xmlhttp.open(this.method, this.requestFile, true); try { this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") } catch (e) { } } this.xmlhttp.onreadystatechange = function() { switch (self.xmlhttp.readyState) { case 1: self.onLoading(); break; case 2: self.onLoaded(); break; case 3: self.onInteractive(); break; case 4: self.response = self.xmlhttp.responseText; self.responseXML = self.xmlhttp.responseXML; self.responseStatus[0] = self.xmlhttp.status; self.responseStatus[1] = self.xmlhttp.statusText; if (self.execute) { self.runResponse(); } if (self.elementObj) { elemNodeName = self.elementObj.nodeName; elemNodeName.toLowerCase(); if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea") { self.elementObj.value = self.response; } else { self.elementObj.innerHTML = self.response; } } if (self.responseStatus[0] == "200") { self.onCompletion(); } else { self.onError(); } self.URLString = ""; break; } }; this.xmlhttp.send(this.URLString); } } }; this.reset(); this.createAJAX(); } and the javascript with functions: var ajax = new sack(); function getStateListSearch(sel) { var countryCode = sel.options[sel.selectedIndex].value; document.getElementById('statesearch').options.length = 0; if(countryCode.length>0){ ajax.requestFile = 'getStates_search.php?countryCode='+countryCode; ajax.onCompletion = createStatessearch; ajax.runAJAX(); } } function createStatessearch() { var obj = document.getElementById('statesearch'); eval(ajax.response); } This will populate a select called: statesearch, and the options that the php passes back are in this format: obj.options[obj.options.length] = new Option('New York','New York'); I try to put some code in the readystate2 with no success... Please help me! Thank you all!
-
Hello everyone... I need help with some php, may be you can help me... I got a date from mysql, and I want to get the number of days that past from that date to today... for example: date: 2007-05-08 12:22:40 today date: 2007-05-09 12:15:50 past days: 1 Thank you everyone!