Onclick Word替换无法正常使用PHP [关闭]

I have this code:

<a class='show' data-id='".$random."' href='javascript:void(0)' onclick='if(this.innerHTML == 'Click Here to Read More'){this.innerHTML = 'Click Here to Read Less'}else{this.innerHTML = 'Click Here to Read More'}'>Click Here to Read More</a>

When the page is returned though everything is returned weird and items are missing in source code like so:

<a class="show" onclick="if(this.innerHTML == " href="javascript:void(0)" data-id="23272317" }'="" }else{this.innerhtml="Click Here to Read More" more'){this.innerhtml="Click Here to Read Less" read="" to="" here="" click="">Click Here to Read More</a>

Im sure its as simple as a quotes issue but im stuck. Anyone able to point me in the right direction or explain how or why this happens with only javascript?

I suppose you output this code with echo:

echo "<a class='show' data-id='".$random."' href='javascript:void(0)' onclick='if(this.innerHTML == \"Click Here to Read More\"){this.innerHTML = \"Click Here to Read Less\"} else {this.innerHTML = \"Click Here to Read More\"}'>Click Here to Read More</a>";

Note that I replaced ' around Click Here to ... to escaped " because:

  • ' is already used in enclosing attribute data
  • " enclose full string that you echo